Apex: Update build jobs with hunter stream
[releng.git] / jjb / apex / apex-verify-jobs.yaml
1 ---
2 - project:
3     name: 'apex-verify-jobs'
4     project: 'apex'
5     jobs:
6       - 'apex-verify-{stream}'
7       - 'apex-verify-gate-{stream}'
8       - 'apex-verify-unit-tests-{stream}'
9     stream:
10       - master: &master
11           branch: '{stream}'
12           gs-pathname: ''
13           verify-scenario: 'os-nosdn-nofeature-noha'
14           disabled: false
15       - hunter: &hunter
16           branch: '{stream}'
17           gs-pathname: ''
18           verify-scenario: 'os-nosdn-nofeature-noha'
19           disabled: false
20       - gambia: &gambia
21           branch: 'stable/{stream}'
22           gs-pathname: '/{stream}'
23           verify-scenario: 'os-nosdn-nofeature-ha'
24           disabled: false
25       - fraser: &fraser
26           branch: 'stable/{stream}'
27           gs-pathname: '/{stream}'
28           verify-scenario: 'os-nosdn-nofeature-ha'
29           disabled: false
30       - danube: &danube
31           branch: 'stable/{stream}'
32           gs-pathname: '/{stream}'
33           verify-scenario: 'os-odl_l3-nofeature-ha'
34           disabled: true
35       - euphrates: &euphrates
36           branch: 'stable/{stream}'
37           gs-pathname: '/{stream}'
38           verify-scenario: 'os-odl-nofeature-ha'
39           disabled: false
40
41 # Unit Test
42 - job-template:
43     name: 'apex-verify-unit-tests-{stream}'
44
45     node: 'apex-build-master'
46
47     concurrent: true
48
49     disabled: '{obj:disabled}'
50
51     parameters:
52       - apex-parameter:
53           gs-pathname: '{gs-pathname}'
54       - project-parameter:
55           project: '{project}'
56           branch: '{branch}'
57
58     scm:
59       - git-scm-gerrit
60
61     triggers:
62       - gerrit:
63           server-name: 'gerrit.opnfv.org'
64           trigger-on:
65             - patchset-created-event:
66                 exclude-drafts: 'false'
67                 exclude-trivial-rebase: 'false'
68                 exclude-no-code-change: 'true'
69             - draft-published-event
70             - comment-added-contains-event:
71                 comment-contains-value: 'recheck'
72             - comment-added-contains-event:
73                 comment-contains-value: 'reverify'
74           projects:
75             - project-compare-type: 'ANT'
76               project-pattern: 'apex'
77               branches:
78                 - branch-compare-type: 'ANT'
79                   branch-pattern: '**/{branch}'
80               disable-strict-forbidden-file-verification: 'false'
81               file-paths:
82                 - compare-type: ANT
83                   pattern: 'apex/tests/**'
84               forbidden-file-paths:
85                 - compare-type: ANT
86                   pattern: '*'
87                 - compare-type: ANT
88                   pattern: 'apex/*'
89                 - compare-type: ANT
90                   pattern: 'build/**'
91                 - compare-type: ANT
92                   pattern: 'lib/**'
93                 - compare-type: ANT
94                   pattern: 'config/**'
95                 - compare-type: ANT
96                   pattern: 'apex/build/**'
97                 - compare-type: ANT
98                   pattern: 'apex/common/**'
99                 - compare-type: ANT
100                   pattern: 'apex/inventory/**'
101                 - compare-type: ANT
102                   pattern: 'apex/network/**'
103                 - compare-type: ANT
104                   pattern: 'apex/overcloud/**'
105                 - compare-type: ANT
106                   pattern: 'apex/settings/**'
107                 - compare-type: ANT
108                   pattern: 'apex/undercloud/**'
109                 - compare-type: ANT
110                   pattern: 'apex/virtual/**'
111
112     properties:
113       - logrotate-default
114       - throttle:
115           max-per-node: 1
116           max-total: 10
117           option: 'project'
118
119     builders:
120       - apex-unit-test
121
122 # Verify
123 - job-template:
124     name: 'apex-verify-{stream}'
125
126     concurrent: true
127
128     disabled: '{obj:disabled}'
129
130     project-type: 'multijob'
131
132     parameters:
133       - '{project}-virtual-{stream}-defaults'
134       - apex-parameter:
135           gs-pathname: '{gs-pathname}/dev'
136       - project-parameter:
137           project: '{project}'
138           branch: '{branch}'
139       - string:
140           name: ARTIFACT_VERSION
141           default: dev
142           description: "Used for overriding the ARTIFACT_VERSION"
143     scm:
144       - git-scm-gerrit
145
146     triggers:
147       - gerrit:
148           server-name: 'gerrit.opnfv.org'
149           trigger-on:
150             - patchset-created-event:
151                 exclude-drafts: 'false'
152                 exclude-trivial-rebase: 'false'
153                 exclude-no-code-change: 'true'
154             - draft-published-event
155             - comment-added-contains-event:
156                 comment-contains-value: 'recheck'
157             - comment-added-contains-event:
158                 comment-contains-value: 'reverify'
159           projects:
160             - project-compare-type: 'ANT'
161               project-pattern: 'apex'
162               branches:
163                 - branch-compare-type: 'ANT'
164                   branch-pattern: '**/{branch}'
165               disable-strict-forbidden-file-verification: 'true'
166               file-paths:
167                 - compare-type: ANT
168                   pattern: '*'
169                 - compare-type: ANT
170                   pattern: 'apex/*'
171                 - compare-type: ANT
172                   pattern: 'build/**'
173                 - compare-type: ANT
174                   pattern: 'ci/**'
175                 - compare-type: ANT
176                   pattern: 'lib/**'
177                 - compare-type: ANT
178                   pattern: 'config/**'
179                 - compare-type: ANT
180                   pattern: 'apex/build/**'
181                 - compare-type: ANT
182                   pattern: 'apex/builders/**'
183                 - compare-type: ANT
184                   pattern: 'apex/common/**'
185                 - compare-type: ANT
186                   pattern: 'apex/inventory/**'
187                 - compare-type: ANT
188                   pattern: 'apex/network/**'
189                 - compare-type: ANT
190                   pattern: 'apex/overcloud/**'
191                 - compare-type: ANT
192                   pattern: 'apex/settings/**'
193                 - compare-type: ANT
194                   pattern: 'apex/undercloud/**'
195                 - compare-type: ANT
196                   pattern: 'apex/virtual/**'
197               forbidden-file-paths:
198                 - compare-type: ANT
199                   pattern: 'apex/tests/**'
200                 - compare-type: ANT
201                   pattern: 'docs/**'
202
203     properties:
204       - logrotate-default
205       - throttle:
206           max-per-node: 3
207           max-total: 10
208           option: 'project'
209       - build-blocker:
210           use-build-blocker: true
211           blocking-level: 'NODE'
212           blocking-jobs:
213             - 'apex-.*-promote.*'
214     builders:
215       - description-setter:
216           description: "Built on $NODE_NAME"
217       - multijob:
218           name: basic
219           condition: SUCCESSFUL
220           projects:
221             - name: 'apex-verify-unit-tests-{stream}'
222               current-parameters: false
223               predefined-parameters: |
224                 GERRIT_BRANCH=$GERRIT_BRANCH
225                 GERRIT_REFSPEC=$GERRIT_REFSPEC
226                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
227                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
228               node-parameters: false
229               kill-phase-on: FAILURE
230               abort-all-job: true
231               git-revision: true
232       - multijob:
233           name: build
234           condition: SUCCESSFUL
235           projects:
236             - name: 'apex-build-{stream}'
237               current-parameters: false
238               predefined-parameters: |
239                 ARTIFACT_VERSION=$ARTIFACT_VERSION
240                 GERRIT_BRANCH=$GERRIT_BRANCH
241                 GERRIT_REFSPEC=$GERRIT_REFSPEC
242                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
243                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
244               node-parameters: false
245               kill-phase-on: FAILURE
246               abort-all-job: true
247               git-revision: true
248       - multijob:
249           name: deploy-virtual
250           condition: SUCCESSFUL
251           projects:
252             - name: 'apex-virtual-{stream}'
253               current-parameters: false
254               predefined-parameters: |
255                 ARTIFACT_VERSION=$ARTIFACT_VERSION
256                 DEPLOY_SCENARIO={verify-scenario}
257                 OPNFV_CLEAN=yes
258                 GERRIT_BRANCH=$GERRIT_BRANCH
259                 GERRIT_REFSPEC=$GERRIT_REFSPEC
260                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
261                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
262                 FUNCTEST_SUITE_NAME=tempest_smoke
263                 FUNCTEST_MODE=testcase
264               node-parameters: true
265               kill-phase-on: FAILURE
266               abort-all-job: true
267               git-revision: true
268
269 # Verify Scenario Gate
270 - job-template:
271     name: 'apex-verify-gate-{stream}'
272
273     concurrent: true
274
275     disabled: '{obj:disabled}'
276
277     project-type: 'multijob'
278
279     parameters:
280       - '{project}-virtual-{stream}-defaults'
281       - apex-parameter:
282           gs-pathname: '{gs-pathname}/dev'
283       - project-parameter:
284           project: '{project}'
285           branch: '{branch}'
286       - string:
287           name: GIT_BASE
288           default: https://gerrit.opnfv.org/gerrit/$PROJECT
289           description: "Used for overriding the GIT URL coming from parameters macro."
290       - string:
291           name: ARTIFACT_VERSION
292           default: dev
293           description: "Used for overriding the ARTIFACT_VERSION"
294
295     scm:
296       - git-scm-gerrit
297
298     triggers:
299       - gerrit:
300           server-name: 'gerrit.opnfv.org'
301           trigger-on:
302             - comment-added-contains-event:
303                 comment-contains-value: '^Patch Set [0-9]+: Code-Review\+2.*start-gate-scenario:.*'
304           projects:
305             - project-compare-type: 'ANT'
306               project-pattern: 'apex'
307               branches:
308                 - branch-compare-type: 'ANT'
309                   branch-pattern: '**/{branch}'
310               file-paths:
311                 - compare-type: ANT
312                   pattern: 'ci/**'
313                 - compare-type: ANT
314                   pattern: 'build/**'
315                 - compare-type: ANT
316                   pattern: 'lib/**'
317                 - compare-type: ANT
318                   pattern: 'config/**'
319                 - compare-type: ANT
320                   pattern: 'apex/**'
321
322     properties:
323       - logrotate-default
324       - build-blocker:
325           use-build-blocker: true
326           blocking-level: 'NODE'
327           blocking-jobs:
328             - 'apex-verify.*'
329             - 'apex-virtual.*'
330             - 'apex-.*-promote.*'
331             - 'odl-netvirt.*'
332       - throttle:
333           max-per-node: 1
334           max-total: 10
335           option: 'project'
336
337     builders:
338       # yamllint disable rule:line-length
339       - shell: |
340           echo DEPLOY_SCENARIO=$(echo $GERRIT_EVENT_COMMENT_TEXT | grep start-gate-scenario | grep -Eo '(os|k8s)-.*$') > detected_scenario
341       # yamllint enable rule:line-length
342       - inject:
343           properties-file: detected_scenario
344       - multijob:
345           name: deploy-virtual
346           condition: SUCCESSFUL
347           projects:
348             - name: 'apex-deploy-virtual-{stream}'
349               current-parameters: false
350               predefined-parameters: |
351                 ARTIFACT_VERSION=$ARTIFACT_VERSION
352                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
353                 OPNFV_CLEAN=yes
354                 GERRIT_BRANCH=$GERRIT_BRANCH
355                 GERRIT_REFSPEC=$GERRIT_REFSPEC
356                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
357                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
358                 GERRIT_EVENT_COMMENT_TEXT=$GERRIT_EVENT_COMMENT_TEXT
359               node-parameters: true
360               kill-phase-on: FAILURE
361               abort-all-job: true
362               git-revision: true
363       - shell:
364           !include-raw-escape: ./apex-functest-scenario.sh
365       - inject:
366           properties-file: functest_scenario
367           override-build-parameters: true
368       - multijob:
369           name: functest-smoke
370           condition: ALWAYS
371           projects:
372             - name: 'functest-apex-virtual-suite-{stream}'
373               current-parameters: false
374               predefined-parameters: |
375                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
376                 DOCKER_TAG=$DOCKER_TAG
377                 FUNCTEST_SUITE_NAME=tempest_smoke
378                 FUNCTEST_MODE=testcase
379                 GERRIT_BRANCH=$GERRIT_BRANCH
380                 GERRIT_REFSPEC=$GERRIT_REFSPEC
381                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
382                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
383               node-parameters: true
384               kill-phase-on: NEVER
385               enable-condition: "def m = '$DEPLOY_SCENARIO' != 'k8s-nosdn-nofeature-noha'"
386               abort-all-job: true
387               git-revision: false
388       - multijob:
389           name: apex-fetch-logs
390           projects:
391             - name: 'apex-fetch-logs-{stream}'
392               current-parameters: true
393               predefined-parameters: |
394                 GERRIT_BRANCH=$GERRIT_BRANCH
395                 GERRIT_REFSPEC=$GERRIT_REFSPEC
396                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
397               node-parameters: true
398               kill-phase-on: NEVER
399               abort-all-job: true
400               git-revision: false
401
402 ########################
403 # builder macros
404 ########################
405 - builder:
406     name: apex-unit-test
407     builders:
408       - shell:
409           !include-raw: ./apex-unit-test.sh