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