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