add bottlenecks job to run in VMs launched by installer
[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         - trigger-builds:
254           - project: 'bottlenecks-daily-fuel-lf-{stream}'
255             block: true
256             block-thresholds:
257                 build-step-failure-threshold: 'never'
258                 failure-threshold: 'never'
259                 unstable-threshold: 'FAILURE'
260
261     triggers:
262         - 'fuel-{stream}-daily-trigger'
263
264 - job-template:
265     name: 'fuel-build-{stream}'
266
267     node: ericsson-build
268
269     logrotate:
270         daysToKeep: 30
271         numToKeep: 10
272         artifactDaysToKeep: -1
273         artifactNumToKeep: -1
274
275     parameters:
276         - project-parameter:
277             project: '{project}'
278         - fuel-parameter:
279             installer: '{installer}'
280             gs-pathname: '{gs-pathname}'
281
282     scm:
283         - git-scm:
284             credentials-id: '{ssh-credentials}'
285             refspec: ''
286             branch: '{branch}'
287
288     wrappers:
289         - timeout:
290             timeout: 360
291             fail: true
292
293     builders:
294         - shell:
295             !include-raw ./fuel-build.sh
296         - shell:
297             !include-raw ./fuel-upload-artifact.sh
298         - shell:
299             !include-raw ./fuel-workspace-cleanup.sh
300
301     publishers:
302         - email:
303             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
304
305 - job-template:
306     name: 'fuel-deploy-{stream}'
307
308     disabled: false
309
310     node: opnfv-jump-2
311
312     parameters:
313         - project-parameter:
314             project: '{project}'
315         - fuel-parameter:
316             installer: '{installer}'
317             gs-pathname: '{gs-pathname}'
318         - string:
319             name: GIT_BASE
320             default: ssh://gerrit.opnfv.org:29418/$PROJECT
321             description: "POD2 has some issues with cloning using https so that's why GIT_BASE is overriden here again."
322
323     scm:
324         - git-scm:
325             credentials-id: '{ssh-credentials}'
326             refspec: ''
327             branch: '{branch}'
328
329     logrotate:
330         daysToKeep: 30
331         numToKeep: 10
332         artifactDaysToKeep: -1
333         artifactNumToKeep: -1
334
335     builders:
336         - shell:
337             !include-raw ./fuel-download-artifact.sh
338         - shell:
339             !include-raw ./fuel-deploy.sh
340
341     publishers:
342         - email:
343             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
344
345 - job-template:
346     name: 'fuel-lab-reconfig-{stream}'
347
348     disabled: true
349
350     logrotate:
351         daysToKeep: 30
352         numToKeep: 10
353         artifactDaysToKeep: -1
354         artifactNumToKeep: -1
355
356     parameters:
357         - project-parameter:
358             project: '{project}'
359         - fuel-parameter:
360             installer: '{installer}'
361             gs-pathname: '{gs-pathname}'
362         - string:
363             name: GIT_BASE
364             default: ssh://gerrit.opnfv.org:29418/$PROJECT
365             description: "Used for overriding the GIT URL coming from parameters macro."
366
367     scm:
368         - git-scm:
369             credentials-id: '{ssh-credentials}'
370             refspec: ''
371             branch: '{branch}'
372
373     properties:
374         - build-blocker:
375             use-build-blocker: true
376             blocking-jobs:
377                 - "apex-daily.*"
378
379     builders:
380         - shell:
381             !include-raw ./fuel-lab-reconfig.sh
382
383 ########################
384 # parameter macros
385 ########################
386 - parameter:
387     name: fuel-parameter
388     parameters:
389         - string:
390             name: INSTALLER
391             default: '{installer}'
392             description: "Installer to use."
393         - string:
394             name: BUILD_DIRECTORY
395             default: $WORKSPACE/build_output
396             description: "Directory where the build artifact will be located upon the completion of the build."
397         - string:
398             name: CACHE_DIRECTORY
399             default: $HOME/opnfv/cache/$INSTALLER
400             description: "Directory where the cache to be used during the build is located."
401         - string:
402             name: GIT_BASE
403             default: https://gerrit.opnfv.org/gerrit/$PROJECT
404             description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
405         - string:
406             name: GS_URL
407             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
408             description: "URL to Google Storage."
409
410 ########################
411 # trigger macros
412 ########################
413 - trigger:
414     name: 'fuel-master-daily-trigger'
415     triggers:
416         - timed: '0 3 * * *'