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