1566109a482ff2515e69c532e651b1b51b1873d8
[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     logrotate:
109         daysToKeep: 30
110         numToKeep: 40
111         artifactDaysToKeep: -1
112         artifactNumToKeep: 5
113
114     parameters:
115         - project-parameter:
116             project: '{project}'
117         - gerrit-parameter:
118             branch: '{branch}'
119         - fuel-parameter:
120             installer: '{installer}'
121             gs-pathname: ''
122     scm:
123         - gerrit-trigger-scm:
124             credentials-id: '{ssh-credentials}'
125             refspec: ''
126             choosing-strategy: 'default'
127
128     wrappers:
129         - ssh-agent-credentials:
130             users: '{ssh-credentials}'
131         - timeout:
132             timeout: 360
133             fail: true
134
135     triggers:
136         - gerrit:
137             trigger-on:
138                 - change-merged-event
139                 - comment-added-contains-event:
140                     comment-contains-value: 'remerge'
141             projects:
142               - project-compare-type: 'ANT'
143                 project-pattern: '{project}'
144                 branches:
145                     - branch-compare-type: 'ANT'
146                       branch-pattern: '**/{branch}'
147
148     builders:
149         - shell:
150             !include-raw ./fuel-build.sh
151         - shell:
152             !include-raw ./fuel-upload-artifact.sh
153         - shell:
154             !include-raw ./fuel-workspace-cleanup.sh
155
156 - job-template:
157     name: 'fuel-merge-deploy-virtual-{stream}'
158
159     node: fuel-deploy-virtual
160
161     concurrent: true
162
163     properties:
164         - throttle:
165             enabled: true
166             max-total: 2
167             max-per-node: 1
168
169     logrotate:
170         daysToKeep: 30
171         numToKeep: 40
172         artifactDaysToKeep: -1
173         artifactNumToKeep: 5
174
175     parameters:
176         - project-parameter:
177             project: '{project}'
178         - gerrit-parameter:
179             branch: '{branch}'
180         - fuel-parameter:
181             installer: '{installer}'
182             gs-pathname: ''
183     scm:
184         - gerrit-trigger-scm:
185             credentials-id: '{ssh-credentials}'
186             refspec: ''
187             choosing-strategy: 'default'
188
189     wrappers:
190         - ssh-agent-credentials:
191             user: '{ssh-credentials}'
192
193     triggers:
194         - gerrit:
195             trigger-on:
196                 - change-merged-event
197                 - comment-added-contains-event:
198                     comment-contains-value: 'remerge'
199             projects:
200               - project-compare-type: 'ANT'
201                 project-pattern: '{project}'
202                 branches:
203                     - branch-compare-type: 'ANT'
204                       branch-pattern: '**/{branch}'
205             dependency-jobs: 'fuel-merge-build-{stream}'
206
207     builders:
208         - shell:
209             !include-raw ./fuel-download-artifact.sh
210         - shell:
211             !include-raw ./fuel-deploy-virtual.sh
212         - shell:
213             !include-raw ./fuel-workspace-cleanup.sh
214
215     publishers:
216         - email:
217             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
218
219 - job-template:
220     name: 'fuel-daily-{stream}'
221
222     node: ericsson-build
223
224     disabled: false
225
226     triggers:
227         - 'fuel-{strem}-trigger'
228
229     parameters:
230         - project-parameter:
231             project: '{project}'
232         - fuel-parameter:
233             installer: '{installer}'
234             gs-pathname: '{gs-pathname}'
235
236     scm:
237         - git-scm:
238             credentials-id: '{ssh-credentials}'
239             refspec: ''
240             branch: '{branch}'
241
242     logrotate:
243         daysToKeep: '{build-days-to-keep}'
244         numToKeep: '{build-num-to-keep}'
245         artifactDaysToKeep: '{build-artifact-days-to-keep}'
246         artifactNumToKeep: '{build-artifact-num-to-keep}'
247
248     builders:
249         - trigger-builds:
250           - project: 'fuel-build-{stream}'
251             git-revision: true
252             block: true
253         - trigger-builds:
254           - project: 'fuel-deploy-{stream}'
255             git-revision: true
256             block: true
257         - trigger-builds:
258           - project: 'functest-fuel-{stream}'
259             block: true
260             block-thresholds:
261                 build-step-failure-threshold: 'never'
262                 failure-threshold: 'never'
263                 unstable-threshold: 'FAILURE'
264         - trigger-builds:
265           - project: 'yardstick-fuel-lf-{stream}'
266             block: true
267             block-thresholds:
268                 build-step-failure-threshold: 'never'
269                 failure-threshold: 'never'
270                 unstable-threshold: 'FAILURE'
271
272     triggers:
273         - 'fuel-{stream}-daily-trigger'
274
275 - job-template:
276     name: 'fuel-build-{stream}'
277
278     node: ericsson-build
279
280     logrotate:
281         daysToKeep: 30
282         numToKeep: 10
283         artifactDaysToKeep: -1
284         artifactNumToKeep: -1
285
286     parameters:
287         - project-parameter:
288             project: '{project}'
289         - fuel-parameter:
290             installer: '{installer}'
291             gs-pathname: '{gs-pathname}'
292
293     scm:
294         - git-scm:
295             credentials-id: '{ssh-credentials}'
296             refspec: ''
297             branch: '{branch}'
298
299     wrappers:
300         - timeout:
301             timeout: 360
302             fail: true
303
304     builders:
305         - shell:
306             !include-raw ./fuel-build.sh
307         - shell:
308             !include-raw ./fuel-upload-artifact.sh
309         - shell:
310             !include-raw ./fuel-workspace-cleanup.sh
311
312     publishers:
313         - email:
314             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
315
316 - job-template:
317     name: 'fuel-deploy-{stream}'
318
319     disabled: false
320
321     node: opnfv-jump-2
322
323     parameters:
324         - project-parameter:
325             project: '{project}'
326         - fuel-parameter:
327             installer: '{installer}'
328             gs-pathname: '{gs-pathname}'
329         - string:
330             name: GIT_BASE
331             default: ssh://gerrit.opnfv.org:29418/$PROJECT
332             description: "POD2 has some issues with cloning using https so that's why GIT_BASE is overriden here again."
333
334     scm:
335         - git-scm:
336             credentials-id: '{ssh-credentials}'
337             refspec: ''
338             branch: '{branch}'
339
340     logrotate:
341         daysToKeep: 30
342         numToKeep: 10
343         artifactDaysToKeep: -1
344         artifactNumToKeep: -1
345
346     builders:
347         - shell:
348             !include-raw ./fuel-download-artifact.sh
349         - shell:
350             !include-raw ./fuel-deploy.sh
351
352     publishers:
353         - email:
354             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
355
356 - job-template:
357     name: 'fuel-lab-reconfig-{stream}'
358
359     disabled: true
360
361     logrotate:
362         daysToKeep: 30
363         numToKeep: 10
364         artifactDaysToKeep: -1
365         artifactNumToKeep: -1
366
367     parameters:
368         - project-parameter:
369             project: '{project}'
370         - fuel-parameter:
371             installer: '{installer}'
372             gs-pathname: '{gs-pathname}'
373         - string:
374             name: GIT_BASE
375             default: ssh://gerrit.opnfv.org:29418/$PROJECT
376             description: "Used for overriding the GIT URL coming from parameters macro."
377
378     scm:
379         - git-scm:
380             credentials-id: '{ssh-credentials}'
381             refspec: ''
382             branch: '{branch}'
383
384     properties:
385         - build-blocker:
386             use-build-blocker: true
387             blocking-jobs:
388                 - "apex-daily.*"
389
390     builders:
391         - shell:
392             !include-raw ./fuel-lab-reconfig.sh
393
394 ########################
395 # parameter macros
396 ########################
397 - parameter:
398     name: fuel-parameter
399     parameters:
400         - string:
401             name: INSTALLER
402             default: '{installer}'
403             description: "Installer to use."
404         - string:
405             name: BUILD_DIRECTORY
406             default: $WORKSPACE/build_output
407             description: "Directory where the build artifact will be located upon the completion of the build."
408         - string:
409             name: CACHE_DIRECTORY
410             default: $HOME/opnfv/cache/$INSTALLER
411             description: "Directory where the cache to be used during the build is located."
412         - string:
413             name: GIT_BASE
414             default: https://gerrit.opnfv.org/gerrit/$PROJECT
415             description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
416         - string:
417             name: GS_URL
418             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
419             description: "URL to Google Storage."
420
421 ########################
422 # trigger macros
423 ########################
424 - trigger:
425     name: 'fuel-master-daily-trigger'
426     triggers:
427         - timed: '0 3 * * *'