set the openstack version for branch
[releng.git] / jjb / compass4nfv / compass-verify-jobs.yml
1 - project:
2     name: 'compass-verify-jobs'
3
4     project: 'compass4nfv'
5
6     installer: 'compass'
7 #####################################
8 # branch definitions
9 #####################################
10     stream:
11         - master:
12             branch: '{stream}'
13             gs-pathname: ''
14             ppa-pathname: '/{stream}'
15             disabled: false
16             openstack-version: 'ocata'
17             branch-type: 'master'
18         - danube:
19             branch: 'stable/{stream}'
20             gs-pathname: '/{stream}'
21             ppa-pathname: '/{stream}'
22             disabled: false
23             openstack-version: 'newton'
24             branch-type: 'branch'
25
26     distro:
27         - 'xenial':
28             disabled: false
29             os-version: 'xenial'
30             openstack-os-version: ''
31         - 'centos7':
32             disabled: false
33             os-version: 'centos7'
34             openstack-os-version: ''
35 #####################################
36 # patch verification phases
37 #####################################
38     phase:
39         - 'basic'
40         - 'deploy-virtual'
41 #####################################
42 # jobs
43 #####################################
44     jobs:
45         - 'compass-verify-{distro}-{stream}'
46         - 'compass-verify-k8-{distro}-{stream}'
47         - 'compass-verify-{phase}-{distro}-{stream}'
48 #####################################
49 # job templates
50 #####################################
51 - job-template:
52     name: 'compass-verify-{distro}-{stream}'
53
54     project-type: multijob
55
56     disabled: '{obj:disabled}'
57
58     concurrent: true
59
60     properties:
61         - logrotate-default
62         - throttle:
63             enabled: true
64             max-total: 4
65             max-per-node: 1
66             option: 'project'
67         - build-blocker:
68             use-build-blocker: true
69             blocking-jobs:
70                 - 'compass-verify-[^-]*-[^-]*'
71                 - 'compass-os-.*?-virtual-daily-.*?'
72             block-level: 'NODE'
73
74     scm:
75         - git-scm-gerrit
76
77     wrappers:
78         - ssh-agent-wrapper
79         - timeout:
80             timeout: 120
81             fail: true
82
83     triggers:
84         - gerrit:
85             server-name: 'gerrit.opnfv.org'
86             trigger-on:
87                 - patchset-created-event:
88                     exclude-drafts: 'false'
89                     exclude-trivial-rebase: 'false'
90                     exclude-no-code-change: 'false'
91                 - draft-published-event
92                 - comment-added-contains-event:
93                     comment-contains-value: 'recheck'
94                 - comment-added-contains-event:
95                     comment-contains-value: 'reverify'
96             projects:
97               - project-compare-type: 'ANT'
98                 project-pattern: '{project}'
99                 branches:
100                   - branch-compare-type: 'ANT'
101                     branch-pattern: '**/{branch}'
102                 file-paths:
103                   - compare-type: ANT
104                     pattern: '**/*'
105                 disable-strict-forbidden-file-verification: 'true'
106                 forbidden-file-paths:
107                   - compare-type: ANT
108                     pattern: 'docs/**'
109             readable-message: true
110
111     parameters:
112         - project-parameter:
113             project: '{project}'
114             branch: '{branch}'
115         - 'compass-virtual-{branch-type}-defaults'
116         - '{installer}-defaults'
117         - 'compass-verify-defaults':
118             installer: '{installer}'
119             gs-pathname: '{gs-pathname}'
120             ppa-pathname: '{ppa-pathname}'
121         - string:
122             name: DEPLOY_SCENARIO
123             default: 'os-nosdn-nofeature-ha'
124
125     builders:
126         - description-setter:
127             description: "Built on $NODE_NAME"
128         - multijob:
129             name: basic
130             condition: SUCCESSFUL
131             projects:
132                 - name: 'opnfv-lint-verify-{stream}'
133                   current-parameters: true
134                   node-parameters: true
135                   kill-phase-on: FAILURE
136                   abort-all-job: true
137                 - name: 'opnfv-yamllint-verify-{stream}'
138                   current-parameters: true
139                   node-parameters: true
140                   kill-phase-on: FAILURE
141                   abort-all-job: true
142         - multijob:
143             name: deploy-virtual
144             condition: SUCCESSFUL
145             projects:
146                 - name: 'compass-verify-deploy-virtual-{distro}-{stream}'
147                   current-parameters: true
148                   predefined-parameters: |
149                     COMPASS_OS_VERSION={os-version}
150                     COMPASS_OPENSTACK_VERSION={openstack-version}
151                   node-parameters: true
152                   kill-phase-on: FAILURE
153                   abort-all-job: true
154         - multijob:
155             name: smoke-test
156             condition: SUCCESSFUL
157             projects:
158                 - name: 'functest-compass-virtual-suite-{stream}'
159                   current-parameters: true
160                   predefined-parameters:
161                     FUNCTEST_SUITE_NAME=healthcheck
162                   node-parameters: true
163                   kill-phase-on: NEVER
164                   abort-all-job: true
165                 - name: 'functest-compass-virtual-suite-{stream}'
166                   current-parameters: true
167                   predefined-parameters:
168                     FUNCTEST_SUITE_NAME=vping_ssh
169                   node-parameters: true
170                   kill-phase-on: NEVER
171                   abort-all-job: true
172
173 - job-template:
174     name: 'compass-verify-k8-{distro}-{stream}'
175
176     project-type: multijob
177
178     disabled: '{obj:disabled}'
179
180     concurrent: true
181
182     properties:
183         - logrotate-default
184         - throttle:
185             enabled: true
186             max-total: 4
187             max-per-node: 1
188             option: 'project'
189         - build-blocker:
190             use-build-blocker: true
191             blocking-jobs:
192                 - 'compass-verify-[^-]*-[^-]*'
193                 - 'compass-os-.*?-virtual-daily-.*?'
194             block-level: 'NODE'
195
196     scm:
197         - git-scm-gerrit
198
199     wrappers:
200         - ssh-agent-wrapper
201         - timeout:
202             timeout: 120
203             fail: true
204
205     triggers:
206         - gerrit:
207             server-name: 'gerrit.opnfv.org'
208             trigger-on:
209                 - comment-added-contains-event:
210                     comment-contains-value: 'check k8'
211                 - comment-added-contains-event:
212                     comment-contains-value: 'verify k8'
213                 - comment-added-contains-event:
214                     comment-contains-value: 'check kubernetes'
215                 - comment-added-contains-event:
216                     comment-contains-value: 'verify kubernetes'
217             projects:
218               - project-compare-type: 'ANT'
219                 project-pattern: '{project}'
220                 branches:
221                   - branch-compare-type: 'ANT'
222                     branch-pattern: '**/{branch}'
223                 file-paths:
224                   - compare-type: ANT
225                     pattern: '**/*'
226                 forbidden-file-paths:
227                   - compare-type: ANT
228                     pattern: 'docs/**'
229             readable-message: true
230
231     parameters:
232         - project-parameter:
233             project: '{project}'
234             branch: '{branch}'
235         - 'compass-virtual-{branch-type}-defaults'
236         - '{installer}-defaults'
237         - 'compass-verify-defaults':
238             installer: '{installer}'
239             gs-pathname: '{gs-pathname}'
240             ppa-pathname: '{ppa-pathname}'
241         - string:
242             name: DEPLOY_SCENARIO
243             default: 'k8-nosdn-nofeature-ha'
244
245     builders:
246         - description-setter:
247             description: "Built on $NODE_NAME"
248         - multijob:
249             name: basic
250             condition: SUCCESSFUL
251             projects:
252                 - name: 'opnfv-lint-verify-{stream}'
253                   current-parameters: true
254                   node-parameters: true
255                   kill-phase-on: FAILURE
256                   abort-all-job: true
257                 - name: 'opnfv-yamllint-verify-{stream}'
258                   current-parameters: true
259                   node-parameters: true
260                   kill-phase-on: FAILURE
261                   abort-all-job: true
262         - multijob:
263             name: deploy-virtual
264             condition: SUCCESSFUL
265             projects:
266                 - name: 'compass-verify-deploy-virtual-{distro}-{stream}'
267                   current-parameters: true
268                   predefined-parameters: |
269                     COMPASS_OS_VERSION={os-version}
270                   node-parameters: true
271                   kill-phase-on: FAILURE
272                   abort-all-job: true
273
274 - job-template:
275     name: 'compass-verify-{phase}-{distro}-{stream}'
276
277     disabled: '{obj:disabled}'
278
279     concurrent: true
280
281     properties:
282         - logrotate-default
283         - throttle:
284             enabled: true
285             max-per-node: 1
286             option: 'project'
287         - build-blocker:
288             use-build-blocker: true
289             blocking-jobs:
290                 - 'compass-os-.*?-virtual-daily-.*?'
291                 - 'compass-verify-deploy-.*'
292                 - 'functest-compass-virtual.*'
293             block-level: 'NODE'
294
295     scm:
296         - git-scm-gerrit
297
298     wrappers:
299         - ssh-agent-wrapper
300         - timeout:
301             timeout: 120
302             fail: true
303
304     builders:
305         - description-setter:
306             description: "Built on $NODE_NAME"
307         - '{project}-verify-{phase}-macro'
308
309 #####################################
310 # builder macros
311 #####################################
312 - builder:
313     name: 'compass4nfv-verify-basic-macro'
314     builders:
315         - shell: |
316             #!/bin/bash
317
318             echo "Not activated!"
319
320 - builder:
321     name: 'compass4nfv-verify-deploy-virtual-macro'
322     builders:
323         - shell:
324             !include-raw: ./compass-build.sh
325         - shell:
326             !include-raw: ./compass-deploy.sh
327 #####################################
328 # parameter macros
329 #####################################
330 - parameter:
331     name: 'compass-verify-defaults'
332     parameters:
333         - string:
334             name: BUILD_DIRECTORY
335             default: $WORKSPACE/build_output
336             description: "Directory where the build artifact will be located upon the completion of the build."
337         - string:
338             name: CACHE_DIRECTORY
339             default: "$HOME/opnfv/cache/$PROJECT{gs-pathname}"
340             description: "Directory where the cache to be used during the build is located."
341         - string:
342             name: GS_URL
343             default: '$GS_BASE{gs-pathname}'
344             description: "URL to Google Storage."
345         - string:
346             name: PPA_REPO
347             default: "http://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}"
348         - string:
349             name: PPA_CACHE
350             default: "$WORKSPACE/work/repo/"
351         - choice:
352             name: COMPASS_OS_VERSION
353             choices:
354                 - 'xenial'
355                 - 'centos7'