a8f940363b4c3e8dbe487a5292afbc7d7847ec01
[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         - 'fuel-deploy-virtual-defaults'
208         - '{installer}-defaults'
209         - fuel-project-parameter:
210             gs-pathname: '{gs-pathname}'
211     scm:
212         - gerrit-trigger-scm:
213             credentials-id: '{ssh-credentials}'
214             refspec: ''
215             choosing-strategy: 'default'
216
217     wrappers:
218         - ssh-agent-credentials:
219             users: '{ssh-credentials}'
220
221     triggers:
222         - gerrit:
223             trigger-on:
224                 - change-merged-event
225                 - comment-added-contains-event:
226                     comment-contains-value: 'remerge'
227             projects:
228               - project-compare-type: 'ANT'
229                 project-pattern: '{project}'
230                 branches:
231                     - branch-compare-type: 'ANT'
232                       branch-pattern: '**/{branch}'
233             dependency-jobs: 'fuel-merge-build-{stream}'
234
235     builders:
236         - shell:
237             !include-raw-escape: ./fuel-download-artifact.sh
238         - shell:
239             !include-raw-escape: ./fuel-deploy.sh
240         - shell:
241             !include-raw-escape: ./fuel-workspace-cleanup.sh
242
243     publishers:
244         - email:
245             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
246
247 - job-template:
248     name: 'fuel-deploy-generic-daily-{stream}'
249
250     concurrent: false
251
252     disabled: true
253
254     properties:
255         - throttle:
256             enabled: true
257             max-total: 1
258             max-per-node: 1
259
260     parameters:
261         - project-parameter:
262             project: '{project}'
263         - 'ericsson-pod2-defaults'
264         - '{installer}-defaults'
265         - string:
266             name: DEPLOY_SCENARIO
267             default: 'os-odl_l2-nofeature-ha'
268         - fuel-project-parameter:
269             gs-pathname: '{gs-pathname}'
270
271     scm:
272         - git-scm:
273             credentials-id: '{ssh-credentials}'
274             refspec: ''
275             branch: '{branch}'
276
277     wrappers:
278         - build-name:
279             name: '$BUILD_NUMBER - POD: $NODE_NAME Scenario: $DEPLOY_SCENARIO'
280
281     builders:
282         - shell:
283             !include-raw-escape: ./fuel-download-artifact.sh
284         - shell:
285             !include-raw-escape: ./fuel-deploy.sh
286
287 ########################
288 # parameter macros
289 ########################
290 - parameter:
291     name: fuel-project-parameter
292     parameters:
293         - string:
294             name: BUILD_DIRECTORY
295             default: $WORKSPACE/build_output
296             description: "Directory where the build artifact will be located upon the completion of the build."
297         - string:
298             name: CACHE_DIRECTORY
299             default: $HOME/opnfv/cache/$INSTALLER_TYPE
300             description: "Directory where the cache to be used during the build is located."
301         - string:
302             name: GS_URL
303             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
304             description: "URL to Google Storage."