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