503aa1b82e4594e172cd52ea999f9d381553c113
[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-verify-virtual-deploy-{stream}'
15         - 'fuel-merge-build-{stream}'
16         - 'fuel-merge-virtual-deploy-{stream}'
17         - 'fuel-daily-{stream}'
18         - 'fuel-build-{stream}'
19         - 'fuel-deploy-{stream}'
20         - 'fuel-lab-reconfig-{stream}'
21
22     stream:
23         - master:
24             branch: 'master'
25             gs-pathname: ''
26
27 ########################
28 # job templates
29 ########################
30
31 - job-template:
32     name: 'fuel-verify-build-{stream}'
33
34     project-type: freestyle
35
36     node: ericsson-build
37
38     concurrent: true
39
40     properties:
41         - throttle:
42             enabled: true
43             max-total: 3
44
45     logrotate:
46         daysToKeep: 30
47         numToKeep: 10
48         artifactDaysToKeep: -1
49         artifactNumToKeep: -1
50
51     parameters:
52         - project-parameter:
53             project: '{project}'
54         - gerrit-parameter:
55             branch: '{branch}'
56         - fuel-parameter:
57             installer: '{installer}'
58             gs-pathname: '{gs-pathname}'
59
60     scm:
61         - gerrit-trigger-scm:
62             credentials-id: '{ssh-credentials}'
63             refspec: '$GERRIT_REFSPEC'
64             choosing-strategy: 'gerrit'
65
66     wrappers:
67         - ssh-agent-credentials:
68             user: '{ssh-credentials}'
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
89     builders:
90         - shell:
91             !include-raw ./fuel-build.sh
92 #        - shell:
93 #            !include-raw ./fuel-upload-artifact.sh
94 #        - shell:
95 #            !include-raw ./fuel-workspace-cleanup.sh
96
97 - job-template:
98     name: 'fuel-verify-virtual-deploy-{stream}'
99
100     project-type: freestyle
101
102     node: ericsson-build
103
104     concurrent: true
105
106     properties:
107         - throttle:
108             enabled: true
109             max-total: 2
110             max-per-node: 1
111
112     logrotate:
113         daysToKeep: 30
114         numToKeep: 10
115         artifactDaysToKeep: -1
116         artifactNumToKeep: -1
117
118     parameters:
119         - project-parameter:
120             project: '{project}'
121         - gerrit-parameter:
122             branch: '{branch}'
123         - fuel-parameter:
124             installer: '{installer}'
125             gs-pathname: '{gs-pathname}'
126
127     scm:
128         - gerrit-trigger-scm:
129             credentials-id: '{ssh-credentials}'
130             refspec: '$GERRIT_REFSPEC'
131             choosing-strategy: 'gerrit'
132
133     wrappers:
134         - ssh-agent-credentials:
135             user: '{ssh-credentials}'
136
137     triggers:
138         - gerrit:
139             trigger-on:
140                 - patchset-created-event:
141                     exclude-drafts: 'false'
142                     exclude-trivial-rebase: 'false'
143                     exclude-no-code-change: 'false'
144                 - draft-published-event
145                 - comment-added-contains-event:
146                     comment-contains-value: 'recheck'
147                 - comment-added-contains-event:
148                     comment-contains-value: 'reverify'
149             projects:
150               - project-compare-type: 'ANT'
151                 project-pattern: '{project}'
152                 branches:
153                   - branch-compare-type: 'ANT'
154                     branch-pattern: '**/{branch}'
155             dependency-jobs: 'fuel-verify-build-{stream}'
156
157     builders:
158 #        - shell:
159 #            !include-raw ./fuel-download-artifact.sh
160         - shell:
161             !include-raw ./fuel-virtual-deploy.sh
162 #        - shell:
163 #            !include-raw ./fuel-workspace-cleanup.sh
164
165 - job-template:
166     name: 'fuel-merge-build-{stream}'
167
168     project-type: freestyle
169
170     node: ericsson-build
171
172     concurrent: true
173
174     properties:
175         - throttle:
176             enabled: true
177             max-total: 2
178
179     logrotate:
180         daysToKeep: 30
181         numToKeep: 40
182         artifactDaysToKeep: -1
183         artifactNumToKeep: 5
184
185     parameters:
186         - project-parameter:
187             project: '{project}'
188         - gerrit-parameter:
189             branch: '{branch}'
190         - fuel-parameter:
191             installer: '{installer}'
192             gs-pathname: ''
193     scm:
194         - gerrit-trigger-scm:
195             credentials-id: '{ssh-credentials}'
196             refspec: ''
197             choosing-strategy: 'default'
198
199     wrappers:
200         - ssh-agent-credentials:
201             user: '{ssh-credentials}'
202
203     triggers:
204         - gerrit:
205             trigger-on:
206                 - change-merged-event
207                 - comment-added-contains-event:
208                     comment-contains-value: 'remerge'
209             projects:
210               - project-compare-type: 'ANT'
211                 project-pattern: '{project}'
212                 branches:
213                     - branch-compare-type: 'ANT'
214                       branch-pattern: '**/{branch}'
215
216     builders:
217         - shell:
218             !include-raw ./fuel-build.sh
219 #        - shell:
220 #            !include-raw ./fuel-upload-artifact.sh
221 #        - shell:
222 #            !include-raw ./fuel-workspace-cleanup.sh
223
224 - job-template:
225     name: 'fuel-merge-virtual-deploy-{stream}'
226
227     project-type: freestyle
228
229     node: ericsson-build
230
231     concurrent: true
232
233     properties:
234         - throttle:
235             enabled: true
236             max-total: 2
237             max-per-node: 1
238
239     logrotate:
240         daysToKeep: 30
241         numToKeep: 40
242         artifactDaysToKeep: -1
243         artifactNumToKeep: 5
244
245     parameters:
246         - project-parameter:
247             project: '{project}'
248         - gerrit-parameter:
249             branch: '{branch}'
250         - fuel-parameter:
251             installer: '{installer}'
252             gs-pathname: ''
253     scm:
254         - gerrit-trigger-scm:
255             credentials-id: '{ssh-credentials}'
256             refspec: ''
257             choosing-strategy: 'default'
258
259     wrappers:
260         - ssh-agent-credentials:
261             user: '{ssh-credentials}'
262
263     triggers:
264         - gerrit:
265             trigger-on:
266                 - change-merged-event
267                 - comment-added-contains-event:
268                     comment-contains-value: 'remerge'
269             projects:
270               - project-compare-type: 'ANT'
271                 project-pattern: '{project}'
272                 branches:
273                     - branch-compare-type: 'ANT'
274                       branch-pattern: '**/{branch}'
275             dependency-jobs: 'fuel-merge-build-{stream}'
276
277     builders:
278 #        - shell:
279 #            !include-raw ./fuel-download-artifact.sh
280         - shell:
281             !include-raw ./fuel-virtual-deploy.sh
282 #        - shell:
283 #            !include-raw ./fuel-workspace-cleanup.sh
284
285 - job-template:
286     name: 'fuel-daily-{stream}'
287
288     project-type: freestyle
289
290     node: ericsson-build
291
292     disabled: false
293
294     triggers:
295         - 'fuel-{strem}-trigger'
296
297     parameters:
298         - project-parameter:
299             project: '{project}'
300         - fuel-parameter:
301             installer: '{installer}'
302             gs-pathname: '{gs-pathname}'
303
304     scm:
305         - git-scm:
306             credentials-id: '{ssh-credentials}'
307             refspec: ''
308             branch: '{branch}'
309
310     logrotate:
311         daysToKeep: '{build-days-to-keep}'
312         numToKeep: '{build-num-to-keep}'
313         artifactDaysToKeep: '{build-artifact-days-to-keep}'
314         artifactNumToKeep: '{build-artifact-num-to-keep}'
315
316     builders:
317         - trigger-builds:
318           - project: 'fuel-build-{stream}'
319             git-revision: true
320             block: true
321         - trigger-builds:
322           - project: 'fuel-deploy-{stream}'
323             git-revision: true
324             block: true
325         - trigger-builds:
326           - project: 'functest-fuel-{stream}'
327             block: true
328             block-thresholds:
329                 build-step-failure-threshold: 'never'
330                 failure-threshold: 'never'
331                 unstable-threshold: 'FAILURE'
332
333     triggers:
334         - 'fuel-{stream}-daily-trigger'
335
336 - job-template:
337     name: 'fuel-build-{stream}'
338
339     project-type: freestyle
340
341     node: ericsson-build
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
356     scm:
357         - git-scm:
358             credentials-id: '{ssh-credentials}'
359             refspec: ''
360             branch: '{branch}'
361
362     builders:
363         - shell:
364             !include-raw ./fuel-build.sh
365         - shell:
366             !include-raw ./fuel-upload-artifact.sh
367         - shell:
368             !include-raw ./fuel-workspace-cleanup.sh
369
370     publishers:
371         - email:
372             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
373
374 - job-template:
375     name: 'fuel-deploy-{stream}'
376
377     project-type: freestyle
378
379     disabled: false
380
381     node: opnfv-jump-2
382
383     parameters:
384         - project-parameter:
385             project: '{project}'
386         - fuel-parameter:
387             installer: '{installer}'
388             gs-pathname: '{gs-pathname}'
389         - string:
390             name: GIT_BASE
391             default: ssh://gerrit.opnfv.org:29418/$PROJECT
392             description: "POD2 has some issues with cloning using https so that's why GIT_BASE is overriden here again."
393
394     scm:
395         - git-scm:
396             credentials-id: '{ssh-credentials}'
397             refspec: ''
398             branch: '{branch}'
399
400     logrotate:
401         daysToKeep: 30
402         numToKeep: 10
403         artifactDaysToKeep: -1
404         artifactNumToKeep: -1
405
406     builders:
407         - shell:
408             !include-raw ./fuel-download-artifact.sh
409         - shell:
410             !include-raw ./fuel-deploy.sh
411
412     publishers:
413         - email:
414             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
415
416 - job-template:
417     name: 'fuel-lab-reconfig-{stream}'
418
419     project-type: freestyle
420
421     disabled: true
422
423     node: master
424
425     logrotate:
426         daysToKeep: 30
427         numToKeep: 10
428         artifactDaysToKeep: -1
429         artifactNumToKeep: -1
430
431     parameters:
432         - project-parameter:
433             project: '{project}'
434         - fuel-parameter:
435             installer: '{installer}'
436             gs-pathname: '{gs-pathname}'
437         - string:
438             name: GIT_BASE
439             default: ssh://gerrit.opnfv.org:29418/$PROJECT
440             description: "Used for overriding the GIT URL coming from parameters macro."
441
442     scm:
443         - git-scm:
444             credentials-id: '{ssh-credentials}'
445             refspec: ''
446             branch: '{branch}'
447
448     properties:
449         - build-blocker:
450             use-build-blocker: true
451             blocking-jobs:
452                 - "apex-daily.*"
453
454     builders:
455         - shell:
456             !include-raw ./fuel-lab-reconfig.sh
457
458 ########################
459 # parameter macros
460 ########################
461 - parameter:
462     name: fuel-parameter
463     parameters:
464         - string:
465             name: INSTALLER
466             default: '{installer}'
467             description: "Installer to use."
468         - string:
469             name: BUILD_DIRECTORY
470             default: $WORKSPACE/build_output
471             description: "Directory where the build artifact will be located upon the completion of the build."
472         - string:
473             name: CACHE_DIRECTORY
474             default: $HOME/opnfv/cache/$INSTALLER
475             description: "Directory where the cache to be used during the build is located."
476         - string:
477             name: GIT_BASE
478             default: https://gerrit.opnfv.org/gerrit/$PROJECT
479             description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
480         - string:
481             name: GS_URL
482             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
483             description: "URL to Google Storage."
484
485 ########################
486 # trigger macros
487 ########################
488 - trigger:
489     name: 'fuel-master-daily-trigger'
490     triggers:
491         - timed: '0 3 * * *'