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