joid: Create jobs for virtual deployments in slave lf-virtual1
[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             readable-message: true
127
128     builders:
129         - shell:
130             !include-raw-escape: ./fuel-build.sh
131         - shell:
132             !include-raw-escape: ./fuel-workspace-cleanup.sh
133
134 - job-template:
135     name: 'fuel-merge-build-{stream}'
136
137     concurrent: true
138
139     properties:
140         - throttle:
141             enabled: true
142             max-total: 2
143
144     parameters:
145         - project-parameter:
146             project: '{project}'
147         - gerrit-parameter:
148             branch: '{branch}'
149         - 'ericsson-ca-build-1-defaults'
150         - '{installer}-defaults'
151         - fuel-project-parameter:
152             gs-pathname: '{gs-pathname}'
153     scm:
154         - gerrit-trigger-scm:
155             credentials-id: '{ssh-credentials}'
156             refspec: ''
157             choosing-strategy: 'default'
158
159     wrappers:
160         - ssh-agent-credentials:
161             users: '{ssh-credentials}'
162         - timeout:
163             timeout: 360
164             fail: true
165
166     triggers:
167         - gerrit:
168             trigger-on:
169                 - change-merged-event
170                 - comment-added-contains-event:
171                     comment-contains-value: 'remerge'
172             projects:
173               - project-compare-type: 'ANT'
174                 project-pattern: '{project}'
175                 branches:
176                     - branch-compare-type: 'ANT'
177                       branch-pattern: '**/{branch}'
178
179     builders:
180         - shell:
181             !include-raw-escape: ./fuel-build.sh
182         - shell:
183             !include-raw-escape: ./fuel-upload-artifact.sh
184         - shell:
185             !include-raw-escape: ./fuel-workspace-cleanup.sh
186
187 - job-template:
188     name: 'fuel-merge-deploy-virtual-{stream}'
189
190     concurrent: true
191
192     properties:
193         - throttle:
194             enabled: true
195             max-total: 2
196             max-per-node: 1
197         - build-blocker:
198             use-build-blocker: true
199             blocking-jobs:
200                 - 'fuel-deploy-virtual-daily-.*'
201
202     parameters:
203         - project-parameter:
204             project: '{project}'
205         - gerrit-parameter:
206             branch: '{branch}'
207         - 'virtual-defaults':
208             installer: '{installer}'
209         - '{installer}-defaults'
210         - fuel-project-parameter:
211             gs-pathname: '{gs-pathname}'
212     scm:
213         - gerrit-trigger-scm:
214             credentials-id: '{ssh-credentials}'
215             refspec: ''
216             choosing-strategy: 'default'
217
218     wrappers:
219         - ssh-agent-credentials:
220             users: '{ssh-credentials}'
221
222     triggers:
223         - gerrit:
224             trigger-on:
225                 - change-merged-event
226                 - comment-added-contains-event:
227                     comment-contains-value: 'remerge'
228             projects:
229               - project-compare-type: 'ANT'
230                 project-pattern: '{project}'
231                 branches:
232                     - branch-compare-type: 'ANT'
233                       branch-pattern: '**/{branch}'
234             dependency-jobs: 'fuel-merge-build-{stream}'
235
236     builders:
237         - shell:
238             !include-raw-escape: ./fuel-download-artifact.sh
239         - shell:
240             !include-raw-escape: ./fuel-deploy.sh
241         - shell:
242             !include-raw-escape: ./fuel-workspace-cleanup.sh
243
244     publishers:
245         - email:
246             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
247
248 - job-template:
249     name: 'fuel-deploy-generic-daily-{stream}'
250
251     concurrent: false
252
253     disabled: true
254
255     properties:
256         - throttle:
257             enabled: true
258             max-total: 1
259             max-per-node: 1
260
261     parameters:
262         - project-parameter:
263             project: '{project}'
264         - 'ericsson-pod2-defaults'
265         - '{installer}-defaults'
266         - string:
267             name: DEPLOY_SCENARIO
268             default: 'os-odl_l2-nofeature-ha'
269         - fuel-project-parameter:
270             gs-pathname: '{gs-pathname}'
271
272     scm:
273         - git-scm:
274             credentials-id: '{ssh-credentials}'
275             refspec: ''
276             branch: '{branch}'
277
278     wrappers:
279         - build-name:
280             name: '$BUILD_NUMBER - POD: $NODE_NAME Scenario: $DEPLOY_SCENARIO'
281
282     builders:
283         - shell:
284             !include-raw-escape: ./fuel-download-artifact.sh
285         - shell:
286             !include-raw-escape: ./fuel-deploy.sh
287
288 ########################
289 # parameter macros
290 ########################
291 - parameter:
292     name: fuel-project-parameter
293     parameters:
294         - string:
295             name: BUILD_DIRECTORY
296             default: $WORKSPACE/build_output
297             description: "Directory where the build artifact will be located upon the completion of the build."
298         - string:
299             name: CACHE_DIRECTORY
300             default: $HOME/opnfv/cache/$INSTALLER_TYPE
301             description: "Directory where the cache to be used during the build is located."
302         - string:
303             name: GS_URL
304             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
305             description: "URL to Google Storage."