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