d1f93676c45bc78814a43c1cffaaf43cf4d6cbb2
[releng.git] / jjb / fuel / fuel-project-jobs.yml
1 ########################
2 # Job configuration for fuel
3 ########################
4 - project:
5     name: fuel-project-jobs
6
7     project: 'fuel'
8
9     installer: 'fuel'
10
11     stream:
12         - master:
13             branch: '{stream}'
14             gs-pathname: ''
15         - brahmaputra:
16             branch: 'stable/{stream}'
17             gs-pathname: '/{stream}'
18
19     jobs:
20         - 'fuel-build-daily-{stream}'
21         - 'fuel-verify-build-{stream}'
22         - 'fuel-merge-build-{stream}'
23         - 'fuel-merge-deploy-virtual-{stream}'
24         - 'fuel-deploy-generic-daily-{stream}'
25
26 ########################
27 # job templates
28 ########################
29 - job-template:
30     name: 'fuel-build-daily-{stream}'
31
32     concurrent: false
33
34     properties:
35         - throttle:
36             enabled: true
37             max-total: 1
38             max-per-node: 1
39
40     parameters:
41         - project-parameter:
42             project: '{project}'
43         - 'ericsson-ca-build-1-defaults'
44         - '{installer}-defaults'
45         - fuel-project-parameter:
46             gs-pathname: '{gs-pathname}'
47
48     scm:
49         - git-scm:
50             credentials-id: '{ssh-credentials}'
51             refspec: ''
52             branch: '{branch}'
53
54     triggers:
55         - pollscm:
56             cron: '0 H/4 * * *'
57
58     wrappers:
59         - timeout:
60             timeout: 360
61             fail: true
62
63     builders:
64         - shell:
65             !include-raw-escape: ./fuel-build.sh
66         - shell:
67             !include-raw-escape: ./fuel-upload-artifact.sh
68         - shell:
69             !include-raw-escape: ./fuel-workspace-cleanup.sh
70
71     publishers:
72         - email:
73             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
74
75 - job-template:
76     name: 'fuel-verify-build-{stream}'
77
78     concurrent: true
79
80     properties:
81         - throttle:
82             enabled: true
83             max-total: 3
84
85     parameters:
86         - project-parameter:
87             project: '{project}'
88         - gerrit-parameter:
89             branch: '{branch}'
90         - 'ericsson-ca-build-1-defaults'
91         - '{installer}-defaults'
92         - fuel-project-parameter:
93             gs-pathname: '{gs-pathname}'
94
95     scm:
96         - gerrit-trigger-scm:
97             credentials-id: '{ssh-credentials}'
98             refspec: '$GERRIT_REFSPEC'
99             choosing-strategy: 'gerrit'
100
101     wrappers:
102         - ssh-agent-credentials:
103             users: '{ssh-credentials}'
104         - timeout:
105             timeout: 360
106             fail: true
107
108     triggers:
109         - gerrit:
110             trigger-on:
111                 - patchset-created-event:
112                     exclude-drafts: 'false'
113                     exclude-trivial-rebase: 'false'
114                     exclude-no-code-change: 'false'
115                 - draft-published-event
116                 - comment-added-contains-event:
117                     comment-contains-value: 'recheck'
118                 - comment-added-contains-event:
119                     comment-contains-value: 'reverify'
120             projects:
121               - project-compare-type: 'ANT'
122                 project-pattern: '{project}'
123                 branches:
124                   - branch-compare-type: 'ANT'
125                     branch-pattern: '**/{branch}'
126                 file-paths:
127                   - compare-type: ANT
128                     pattern: 'ci/**'
129                   - compare-type: ANT
130                     pattern: 'build/**'
131                   - compare-type: ANT
132                     pattern: 'deploy/**'
133                 forbidden-file-paths:
134                   - compare-type: ANT
135                     pattern: 'docs/**'
136             readable-message: true
137
138     builders:
139         - shell:
140             !include-raw-escape: ./fuel-build.sh
141         - shell:
142             !include-raw-escape: ./fuel-workspace-cleanup.sh
143
144 - job-template:
145     name: 'fuel-merge-build-{stream}'
146
147     concurrent: true
148
149     properties:
150         - throttle:
151             enabled: true
152             max-total: 2
153
154     parameters:
155         - project-parameter:
156             project: '{project}'
157         - gerrit-parameter:
158             branch: '{branch}'
159         - 'ericsson-ca-build-1-defaults'
160         - '{installer}-defaults'
161         - fuel-project-parameter:
162             gs-pathname: '{gs-pathname}'
163     scm:
164         - gerrit-trigger-scm:
165             credentials-id: '{ssh-credentials}'
166             refspec: ''
167             choosing-strategy: 'default'
168
169     wrappers:
170         - ssh-agent-credentials:
171             users: '{ssh-credentials}'
172         - timeout:
173             timeout: 360
174             fail: true
175
176     triggers:
177         - gerrit:
178             trigger-on:
179                 - change-merged-event
180                 - comment-added-contains-event:
181                     comment-contains-value: 'remerge'
182             projects:
183               - project-compare-type: 'ANT'
184                 project-pattern: '{project}'
185                 branches:
186                     - branch-compare-type: 'ANT'
187                       branch-pattern: '**/{branch}'
188                 file-paths:
189                   - compare-type: ANT
190                     pattern: 'ci/**'
191                   - compare-type: ANT
192                     pattern: 'build/**'
193                   - compare-type: ANT
194                     pattern: 'deploy/**'
195                 forbidden-file-paths:
196                   - compare-type: ANT
197                     pattern: 'docs/**'
198
199     builders:
200         - shell:
201             !include-raw-escape: ./fuel-build.sh
202         - shell:
203             !include-raw-escape: ./fuel-upload-artifact.sh
204         - shell:
205             !include-raw-escape: ./fuel-workspace-cleanup.sh
206
207 - job-template:
208     name: 'fuel-merge-deploy-virtual-{stream}'
209
210     concurrent: true
211
212     properties:
213         - throttle:
214             enabled: true
215             max-total: 2
216             max-per-node: 1
217         - build-blocker:
218             use-build-blocker: true
219             blocking-jobs:
220                 - 'fuel-deploy-virtual-daily-.*'
221
222     parameters:
223         - project-parameter:
224             project: '{project}'
225         - gerrit-parameter:
226             branch: '{branch}'
227         - 'virtual-defaults':
228             installer: '{installer}'
229         - '{installer}-defaults'
230         - fuel-project-parameter:
231             gs-pathname: '{gs-pathname}'
232     scm:
233         - gerrit-trigger-scm:
234             credentials-id: '{ssh-credentials}'
235             refspec: ''
236             choosing-strategy: 'default'
237
238     wrappers:
239         - ssh-agent-credentials:
240             users: '{ssh-credentials}'
241
242     triggers:
243         - gerrit:
244             trigger-on:
245                 - change-merged-event
246                 - comment-added-contains-event:
247                     comment-contains-value: 'remerge'
248             projects:
249               - project-compare-type: 'ANT'
250                 project-pattern: '{project}'
251                 branches:
252                     - branch-compare-type: 'ANT'
253                       branch-pattern: '**/{branch}'
254                 file-paths:
255                   - compare-type: ANT
256                     pattern: 'ci/**'
257                   - compare-type: ANT
258                     pattern: 'build/**'
259                   - compare-type: ANT
260                     pattern: 'deploy/**'
261                 forbidden-file-paths:
262                   - compare-type: ANT
263                     pattern: 'docs/**'
264             dependency-jobs: 'fuel-merge-build-{stream}'
265
266     builders:
267         - shell:
268             !include-raw-escape: ./fuel-download-artifact.sh
269         - shell:
270             !include-raw-escape: ./fuel-deploy.sh
271         - shell:
272             !include-raw-escape: ./fuel-workspace-cleanup.sh
273
274     publishers:
275         - email:
276             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
277
278 - job-template:
279     name: 'fuel-deploy-generic-daily-{stream}'
280
281     concurrent: false
282
283     disabled: true
284
285     properties:
286         - throttle:
287             enabled: true
288             max-total: 1
289             max-per-node: 1
290         - build-blocker:
291             use-build-blocker: true
292             blocking-jobs:
293                 - 'fuel-os-.*?-ericsson-pod2-daily-{stream}'
294
295     parameters:
296         - project-parameter:
297             project: '{project}'
298         - 'ericsson-pod2-defaults'
299         - '{installer}-defaults'
300         - string:
301             name: DEPLOY_SCENARIO
302             default: 'os-odl_l2-nofeature-ha'
303         - fuel-project-parameter:
304             gs-pathname: '{gs-pathname}'
305
306     scm:
307         - git-scm:
308             credentials-id: '{ssh-credentials}'
309             refspec: ''
310             branch: '{branch}'
311
312     wrappers:
313         - build-name:
314             name: '$BUILD_NUMBER - POD: $NODE_NAME Scenario: $DEPLOY_SCENARIO'
315
316     builders:
317         - shell:
318             !include-raw-escape: ./fuel-download-artifact.sh
319         - shell:
320             !include-raw-escape: ./fuel-deploy.sh
321
322 ########################
323 # parameter macros
324 ########################
325 - parameter:
326     name: fuel-project-parameter
327     parameters:
328         - string:
329             name: BUILD_DIRECTORY
330             default: $WORKSPACE/build_output
331             description: "Directory where the build artifact will be located upon the completion of the build."
332         - string:
333             name: CACHE_DIRECTORY
334             default: $HOME/opnfv/cache/$INSTALLER_TYPE
335             description: "Directory where the cache to be used during the build is located."
336         - string:
337             name: GS_URL
338             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
339             description: "URL to Google Storage."