e7ad2bd9c63e18c1ac9d190d516ce887a93c1e7d
[releng.git] / jjb / fuel / fuel.yml
1 ########################
2 # Job configuration for fuel
3 ########################
4 - project:
5
6     name: fuel
7
8     project: 'fuel'
9
10     installer: 'fuel'
11
12     jobs:
13         - 'fuel-verify-build-{stream}'
14         - 'fuel-merge-build-{stream}'
15         - 'fuel-merge-deploy-virtual-{stream}'
16         - 'fuel-daily-{stream}'
17         - 'fuel-build-{stream}'
18         - 'fuel-deploy-{stream}'
19         - 'fuel-lab-reconfig-{stream}'
20
21     stream:
22         - master:
23             branch: 'master'
24             gs-pathname: ''
25
26 ########################
27 # job templates
28 ########################
29
30 - job-template:
31     name: 'fuel-verify-build-{stream}'
32
33     node: ericsson-build
34
35     concurrent: true
36
37     properties:
38         - throttle:
39             enabled: true
40             max-total: 3
41
42     logrotate:
43         daysToKeep: 30
44         numToKeep: 10
45         artifactDaysToKeep: -1
46         artifactNumToKeep: -1
47
48     parameters:
49         - project-parameter:
50             project: '{project}'
51         - gerrit-parameter:
52             branch: '{branch}'
53         - fuel-parameter:
54             installer: '{installer}'
55             gs-pathname: '{gs-pathname}'
56
57     scm:
58         - gerrit-trigger-scm:
59             credentials-id: '{ssh-credentials}'
60             refspec: '$GERRIT_REFSPEC'
61             choosing-strategy: 'gerrit'
62
63     wrappers:
64         - ssh-agent-credentials:
65             users: '{ssh-credentials}'
66         - timeout:
67             timeout: 360
68             fail: true
69
70     triggers:
71         - gerrit:
72             trigger-on:
73                 - patchset-created-event:
74                     exclude-drafts: 'false'
75                     exclude-trivial-rebase: 'false'
76                     exclude-no-code-change: 'false'
77                 - draft-published-event
78                 - comment-added-contains-event:
79                     comment-contains-value: 'recheck'
80                 - comment-added-contains-event:
81                     comment-contains-value: 'reverify'
82             projects:
83               - project-compare-type: 'ANT'
84                 project-pattern: '{project}'
85                 branches:
86                   - branch-compare-type: 'ANT'
87                     branch-pattern: '**/{branch}'
88             readable-message: true
89
90     builders:
91         - shell:
92             !include-raw ./fuel-build.sh
93         - shell:
94             !include-raw ./fuel-workspace-cleanup.sh
95
96 - job-template:
97     name: 'fuel-merge-build-{stream}'
98
99     node: ericsson-build
100
101     concurrent: true
102
103     properties:
104         - throttle:
105             enabled: true
106             max-total: 2
107
108     parameters:
109         - project-parameter:
110             project: '{project}'
111         - gerrit-parameter:
112             branch: '{branch}'
113         - fuel-parameter:
114             installer: '{installer}'
115             gs-pathname: ''
116     scm:
117         - gerrit-trigger-scm:
118             credentials-id: '{ssh-credentials}'
119             refspec: ''
120             choosing-strategy: 'default'
121
122     wrappers:
123         - ssh-agent-credentials:
124             users: '{ssh-credentials}'
125         - timeout:
126             timeout: 360
127             fail: true
128
129     triggers:
130         - gerrit:
131             trigger-on:
132                 - change-merged-event
133                 - comment-added-contains-event:
134                     comment-contains-value: 'remerge'
135             projects:
136               - project-compare-type: 'ANT'
137                 project-pattern: '{project}'
138                 branches:
139                     - branch-compare-type: 'ANT'
140                       branch-pattern: '**/{branch}'
141
142     builders:
143         - shell:
144             !include-raw ./fuel-build.sh
145         - shell:
146             !include-raw ./fuel-upload-artifact.sh
147         - shell:
148             !include-raw ./fuel-workspace-cleanup.sh
149
150 - job-template:
151     name: 'fuel-merge-deploy-virtual-{stream}'
152
153     node: fuel-deploy-virtual
154
155     concurrent: true
156
157     properties:
158         - throttle:
159             enabled: true
160             max-total: 2
161             max-per-node: 1
162
163     parameters:
164         - project-parameter:
165             project: '{project}'
166         - gerrit-parameter:
167             branch: '{branch}'
168         - fuel-parameter:
169             installer: '{installer}'
170             gs-pathname: ''
171     scm:
172         - gerrit-trigger-scm:
173             credentials-id: '{ssh-credentials}'
174             refspec: ''
175             choosing-strategy: 'default'
176
177     wrappers:
178         - ssh-agent-credentials:
179             user: '{ssh-credentials}'
180
181     triggers:
182         - gerrit:
183             trigger-on:
184                 - change-merged-event
185                 - comment-added-contains-event:
186                     comment-contains-value: 'remerge'
187             projects:
188               - project-compare-type: 'ANT'
189                 project-pattern: '{project}'
190                 branches:
191                     - branch-compare-type: 'ANT'
192                       branch-pattern: '**/{branch}'
193             dependency-jobs: 'fuel-merge-build-{stream}'
194
195     builders:
196         - shell:
197             !include-raw ./fuel-download-artifact.sh
198         - shell:
199             !include-raw ./fuel-deploy-virtual.sh
200         - shell:
201             !include-raw ./fuel-workspace-cleanup.sh
202
203     publishers:
204         - email:
205             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
206
207 - job-template:
208     name: 'fuel-daily-{stream}'
209
210     node: ericsson-build
211
212     disabled: false
213
214     triggers:
215         - 'fuel-{strem}-trigger'
216
217     parameters:
218         - project-parameter:
219             project: '{project}'
220         - fuel-parameter:
221             installer: '{installer}'
222             gs-pathname: '{gs-pathname}'
223
224     scm:
225         - git-scm:
226             credentials-id: '{ssh-credentials}'
227             refspec: ''
228             branch: '{branch}'
229
230     builders:
231         - trigger-builds:
232           - project: 'fuel-build-{stream}'
233             git-revision: true
234             block: true
235         - trigger-builds:
236           - project: 'fuel-deploy-{stream}'
237             git-revision: true
238             block: true
239         - trigger-builds:
240           - project: 'functest-fuel-{stream}'
241             block: true
242             block-thresholds:
243                 build-step-failure-threshold: 'never'
244                 failure-threshold: 'never'
245                 unstable-threshold: 'FAILURE'
246         - trigger-builds:
247           - project: 'yardstick-fuel-lf-{stream}'
248             block: true
249             block-thresholds:
250                 build-step-failure-threshold: 'never'
251                 failure-threshold: 'never'
252                 unstable-threshold: 'FAILURE'
253
254     triggers:
255         - 'fuel-{stream}-daily-trigger'
256
257 - job-template:
258     name: 'fuel-build-{stream}'
259
260     node: ericsson-build
261
262     logrotate:
263         daysToKeep: 30
264         numToKeep: 10
265         artifactDaysToKeep: -1
266         artifactNumToKeep: -1
267
268     parameters:
269         - project-parameter:
270             project: '{project}'
271         - fuel-parameter:
272             installer: '{installer}'
273             gs-pathname: '{gs-pathname}'
274
275     scm:
276         - git-scm:
277             credentials-id: '{ssh-credentials}'
278             refspec: ''
279             branch: '{branch}'
280
281     wrappers:
282         - timeout:
283             timeout: 360
284             fail: true
285
286     builders:
287         - shell:
288             !include-raw ./fuel-build.sh
289         - shell:
290             !include-raw ./fuel-upload-artifact.sh
291         - shell:
292             !include-raw ./fuel-workspace-cleanup.sh
293
294     publishers:
295         - email:
296             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
297
298 - job-template:
299     name: 'fuel-deploy-{stream}'
300
301     disabled: false
302
303     node: opnfv-jump-2
304
305     parameters:
306         - project-parameter:
307             project: '{project}'
308         - fuel-parameter:
309             installer: '{installer}'
310             gs-pathname: '{gs-pathname}'
311         - string:
312             name: GIT_BASE
313             default: ssh://gerrit.opnfv.org:29418/$PROJECT
314             description: "POD2 has some issues with cloning using https so that's why GIT_BASE is overriden here again."
315
316     scm:
317         - git-scm:
318             credentials-id: '{ssh-credentials}'
319             refspec: ''
320             branch: '{branch}'
321
322     logrotate:
323         daysToKeep: 30
324         numToKeep: 10
325         artifactDaysToKeep: -1
326         artifactNumToKeep: -1
327
328     builders:
329         - shell:
330             !include-raw ./fuel-download-artifact.sh
331         - shell:
332             !include-raw ./fuel-deploy.sh
333
334     publishers:
335         - email:
336             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
337
338 - job-template:
339     name: 'fuel-lab-reconfig-{stream}'
340
341     disabled: true
342
343     logrotate:
344         daysToKeep: 30
345         numToKeep: 10
346         artifactDaysToKeep: -1
347         artifactNumToKeep: -1
348
349     parameters:
350         - project-parameter:
351             project: '{project}'
352         - fuel-parameter:
353             installer: '{installer}'
354             gs-pathname: '{gs-pathname}'
355         - string:
356             name: GIT_BASE
357             default: ssh://gerrit.opnfv.org:29418/$PROJECT
358             description: "Used for overriding the GIT URL coming from parameters macro."
359
360     scm:
361         - git-scm:
362             credentials-id: '{ssh-credentials}'
363             refspec: ''
364             branch: '{branch}'
365
366     properties:
367         - build-blocker:
368             use-build-blocker: true
369             blocking-jobs:
370                 - "apex-daily.*"
371
372     builders:
373         - shell:
374             !include-raw ./fuel-lab-reconfig.sh
375
376 ########################
377 # parameter macros
378 ########################
379 - parameter:
380     name: fuel-parameter
381     parameters:
382         - string:
383             name: INSTALLER
384             default: '{installer}'
385             description: "Installer to use."
386         - string:
387             name: BUILD_DIRECTORY
388             default: $WORKSPACE/build_output
389             description: "Directory where the build artifact will be located upon the completion of the build."
390         - string:
391             name: CACHE_DIRECTORY
392             default: $HOME/opnfv/cache/$INSTALLER
393             description: "Directory where the cache to be used during the build is located."
394         - string:
395             name: GIT_BASE
396             default: https://gerrit.opnfv.org/gerrit/$PROJECT
397             description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
398         - string:
399             name: GS_URL
400             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
401             description: "URL to Google Storage."
402
403 ########################
404 # trigger macros
405 ########################
406 - trigger:
407     name: 'fuel-master-daily-trigger'
408     triggers:
409         - timed: '0 3 * * *'