Add sweetcomb-test
[ci-management.git] / jjb / sweetcomb / sweetcomb.yaml
1 ---
2 #########################################################################
3 #
4 # Copyright (c) 2018 Intel and/or its affiliates.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at:
8 #
9 #     http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #########################################################################
17
18 - project:
19     name: sweetcomb
20     jobs:
21       - 'sweetcomb-verify-{stream}-{os}'
22       - 'sweetcomb-merge-{stream}-{os}'
23       - 'sweetcomb-test-{stream}-{os}'
24
25     project: 'sweetcomb'
26     os:
27       - ubuntu1604:
28           repo-os-part: 'ubuntu.xenial.main'
29       - ubuntu1804:
30           repo-os-part: 'ubuntu.bionic.main'
31       - centos7:
32           repo-os-part: 'centos7'
33     stream:
34       - master:
35           branch: 'master'
36           repo-stream-part: 'master'
37       - '1904':
38           branch: 'stable/1904'
39           repo-stream-part: 'stable.1904'
40       - '1901':
41           branch: 'stable/1901'
42           repo-stream-part: 'stable.1901'
43
44 - project:
45     name: sweetcomb-view
46     views:
47       - project-view
48     project-name: sweetcomb
49
50 - job-template:
51     name: 'sweetcomb-verify-{stream}-{os}'
52
53     project-type: freestyle
54     node: '{os}-us'
55     concurrent: true
56
57     build-discarder:
58       daysToKeep: '{build-days-to-keep}'
59       numToKeep: 100
60       artifactDaysToKeep: '{build-artifact-days-to-keep}'
61       artifactNumToKeep: '{build-artifact-num-to-keep}'
62
63     parameters:
64       - project-parameter:
65           project: '{project}'
66       - gerrit-parameter:
67           branch: '{branch}'
68       - os-parameter:
69           os: '{os}'
70       - repo-name-parameter:
71           repo-name: '{repo-stream-part}.{repo-os-part}'
72       - stream-parameter:
73           stream: '{stream}'
74
75     scm:
76       - gerrit-trigger-scm:
77           credentials-id: 'jenkins-gerrit-credentials'
78           refspec: '$GERRIT_REFSPEC'
79           choosing-strategy: 'gerrit'
80
81     wrappers:
82       - fdio-infra-wrappers:
83           build-timeout: 120
84
85     triggers:
86       - gerrit-trigger-checkstyle:
87           name: '{project}'
88           branch: '{branch}'
89       - gerrit-trigger-patch-submitted:
90           name: '{project}'
91           branch: '{branch}'
92
93     builders:
94       - config-file-provider:
95           files:
96             - file-id: '.packagecloud'
97               target: '/root'
98       - config-file-provider:
99           files:
100             - file-id: 'packagecloud_api'
101               target: '/root'
102       - shell:
103           !include-raw-escape: include-raw-sweetcomb-checkstyle.sh
104       - shell:
105           !include-raw-escape:
106           - include-raw-sweetcomb-build.sh
107     publishers:
108       - archive:
109           artifacts: >
110             **/build-root/build-package/*.rpm,
111             **/build-root/build-package/*.deb,
112           allow-empty: 'true'
113           fingerprint: false
114           only-if-success: true
115           default-excludes: false
116       - fdio-infra-shiplogs:
117           maven-version: 'mvn33-new'
118       - naginator:
119           rerun-unstable-builds: false
120           max-failed-builds: 1
121           fixed-delay: 90
122
123     publishers:
124       - fdio-infra-shiplogs:
125           maven-version: 'mvn33-new'
126
127 - job-template:
128     name: 'sweetcomb-merge-{stream}-{os}'
129
130     project-type: freestyle
131     node: '{os}-us'
132
133     build-discarder:
134       daysToKeep: '{build-days-to-keep}'
135       numToKeep: 100
136       artifactDaysToKeep: '{build-artifact-days-to-keep}'
137       artifactNumToKeep: '{build-artifact-num-to-keep}'
138
139     parameters:
140       - project-parameter:
141           project: '{project}'
142       - gerrit-parameter:
143           branch: '{branch}'
144       - os-parameter:
145           os: '{os}'
146       - stream-parameter:
147           stream: '{stream}'
148       - repo-name-parameter:
149           repo-name: '{repo-stream-part}.{repo-os-part}'
150
151     scm:
152       - gerrit-trigger-scm:
153           credentials-id: 'jenkins-gerrit-credentials'
154           refspec: ''
155           choosing-strategy: 'default'
156
157     wrappers:
158       - fdio-infra-wrappers:
159           build-timeout: '{build-timeout}'
160
161     triggers:
162       - gerrit-trigger-patch-merged:
163           name: '{project}'
164           branch: '{branch}'
165
166     builders:
167       - config-file-provider:
168           files:
169             - file-id: '.packagecloud'
170               target: '/root'
171       - config-file-provider:
172           files:
173             - file-id: 'packagecloud_api'
174               target: '/root'
175       - shell:
176           !include-raw-escape: include-raw-sweetcomb-checkstyle.sh
177       - shell:
178           !include-raw-escape:
179           - include-raw-sweetcomb-build.sh
180       - shell:
181           !include-raw-escape:
182           - ../scripts/packagecloud_push.sh
183     publishers:
184       - archive:
185           artifacts: >
186             **/build-root/build-package/*.rpm,
187             **/build-root/build-package/*.deb,
188           allow-empty: 'true'
189           fingerprint: false
190           only-if-success: true
191           default-excludes: false
192       - fdio-infra-shiplogs:
193           maven-version: 'mvn33-new'
194       - naginator:
195           rerun-unstable-builds: false
196           max-failed-builds: 1
197           fixed-delay: 90
198
199 - job-template:
200     name: 'sweetcomb-test-{stream}-{os}'
201
202     project-type: freestyle
203     node: '{os}-us'
204     concurrent: true
205
206     build-discarder:
207       daysToKeep: '{build-days-to-keep}'
208       numToKeep: 100
209       artifactDaysToKeep: '{build-artifact-days-to-keep}'
210       artifactNumToKeep: '{build-artifact-num-to-keep}'
211
212     parameters:
213       - project-parameter:
214           project: '{project}'
215       - gerrit-parameter:
216           branch: '{branch}'
217       - os-parameter:
218           os: '{os}'
219       - repo-name-parameter:
220           repo-name: '{repo-stream-part}.{repo-os-part}'
221       - stream-parameter:
222           stream: '{stream}'
223
224     scm:
225       - gerrit-trigger-scm:
226           credentials-id: 'jenkins-gerrit-credentials'
227           refspec: '$GERRIT_REFSPEC'
228           choosing-strategy: 'gerrit'
229
230     wrappers:
231       - fdio-infra-wrappers:
232           build-timeout: 120
233
234     triggers:
235       - gerrit-trigger-patch-submitted:
236           name: '{project}'
237           branch: '{branch}'
238
239     builders:
240       - config-file-provider:
241           files:
242             - file-id: '.packagecloud'
243               target: '/root'
244       - config-file-provider:
245           files:
246             - file-id: 'packagecloud_api'
247               target: '/root'
248       - shell:
249           !include-raw-escape:
250           - include-raw-sweetcomb-build.sh
251           - include-raw-sweetcomb-test.sh
252     publishers:
253       - archive:
254           allow-empty: 'true'
255           fingerprint: false
256           only-if-success: true
257           default-excludes: false
258       - fdio-infra-shiplogs:
259           maven-version: 'mvn33-new'
260       - naginator:
261           rerun-unstable-builds: false
262           max-failed-builds: 1
263           fixed-delay: 90
264
265     publishers:
266       - fdio-infra-shiplogs:
267           maven-version: 'mvn33-new'