Merge "Bug-Fix: Fix clean_image flag does not take effect"
[releng.git] / jjb / apex / apex.yml
1 - project:
2     name: apex
3     jobs:
4         - 'apex-verify-{stream}'
5         - 'apex-verify-unit-tests-{stream}'
6         - 'apex-runner-{platform}-{scenario}-{stream}'
7         - 'apex-runner-cperf-{stream}'
8         - 'apex-build-{stream}'
9         - 'apex-deploy-virtual-{scenario}-{stream}'
10         - 'apex-deploy-baremetal-{scenario}-{stream}'
11         - 'apex-daily-{stream}'
12
13     # stream:    branch with - in place of / (eg. stable-arno)
14     # branch:    branch (eg. stable/arno)
15     stream:
16         - master:
17             branch: 'master'
18             gs-pathname: ''
19             slave: 'lf-pod1'
20             verify-slave: 'apex-verify-master'
21             daily-slave: 'apex-daily-master'
22
23     project: 'apex'
24
25     scenario:
26          - 'os-nosdn-nofeature-noha'
27          - 'os-nosdn-nofeature-ha'
28          - 'os-nosdn-nofeature-ha-ipv6'
29          - 'os-nosdn-ovs-noha'
30          - 'os-nosdn-fdio-noha'
31          - 'os-odl_l3-bgpvpn-ha'
32          - 'os-odl_l2-fdio-noha'
33          - 'os-odl_l2-fdio-ha'
34          - 'os-odl_l2-sfc-noha'
35          - 'os-odl_l3-nofeature-ha'
36          - 'os-onos-nofeature-ha'
37
38     platform:
39          - 'baremetal'
40          - 'virtual'
41
42 # Unit Test
43 - job-template:
44     name: 'apex-verify-unit-tests-{stream}'
45
46     node: '{verify-slave}'
47
48     concurrent: true
49
50     parameters:
51         - apex-parameter:
52             gs-pathname: '{gs-pathname}'
53         - project-parameter:
54             project: '{project}'
55         - gerrit-parameter:
56             branch: '{branch}'
57         - string:
58             name: GIT_BASE
59             default: https://gerrit.opnfv.org/gerrit/$PROJECT
60             description: "Used for overriding the GIT URL coming from parameters macro."
61
62     scm:
63         - git-scm-gerrit
64
65     triggers:
66         - gerrit:
67             server-name: 'gerrit.opnfv.org'
68             trigger-on:
69                 - patchset-created-event:
70                     exclude-drafts: 'false'
71                     exclude-trivial-rebase: 'false'
72                     exclude-no-code-change: 'true'
73                 - draft-published-event
74                 - comment-added-contains-event:
75                     comment-contains-value: 'recheck'
76                 - comment-added-contains-event:
77                     comment-contains-value: 'reverify'
78             projects:
79               - project-compare-type: 'ANT'
80                 project-pattern: 'apex'
81                 branches:
82                   - branch-compare-type: 'ANT'
83                     branch-pattern: '**/{branch}'
84                 file-paths:
85                   - compare-type: ANT
86                     pattern: 'tests/**'
87     properties:
88         - throttle:
89             max-per-node: 1
90             max-total: 10
91             option: 'project'
92
93     builders:
94         - 'apex-unit-test'
95
96 # Verify
97 - job-template:
98     name: 'apex-verify-{stream}'
99
100     node: '{verify-slave}'
101
102     concurrent: true
103
104     parameters:
105         - apex-parameter:
106             gs-pathname: '{gs-pathname}'
107         - project-parameter:
108             project: '{project}'
109         - gerrit-parameter:
110             branch: '{branch}'
111         - string:
112             name: GIT_BASE
113             default: https://gerrit.opnfv.org/gerrit/$PROJECT
114             description: "Used for overriding the GIT URL coming from parameters macro."
115
116     scm:
117         - git-scm-gerrit
118
119     triggers:
120         - gerrit:
121             server-name: 'gerrit.opnfv.org'
122             trigger-on:
123                 - patchset-created-event:
124                     exclude-drafts: 'false'
125                     exclude-trivial-rebase: 'false'
126                     exclude-no-code-change: 'true'
127                 - draft-published-event
128                 - comment-added-contains-event:
129                     comment-contains-value: 'recheck'
130                 - comment-added-contains-event:
131                     comment-contains-value: 'reverify'
132             projects:
133               - project-compare-type: 'ANT'
134                 project-pattern: 'apex'
135                 branches:
136                   - branch-compare-type: 'ANT'
137                     branch-pattern: '**/{branch}'
138                 file-paths:
139                   - compare-type: ANT
140                     pattern: 'ci/**'
141                   - compare-type: ANT
142                     pattern: 'build/**'
143                   - compare-type: ANT
144                     pattern: 'lib/**'
145                   - compare-type: ANT
146                     pattern: 'config/**'
147
148     properties:
149         - build-blocker:
150             use-build-blocker: true
151             block-level: 'NODE'
152             blocking-jobs:
153                 - 'apex-daily.*'
154                 - 'apex-deploy.*'
155                 - 'apex-build.*'
156                 - 'apex-runner.*'
157                 - 'apex-verify.*'
158         - throttle:
159             max-per-node: 1
160             max-total: 10
161             option: 'project'
162
163     builders:
164         - 'apex-unit-test'
165         - 'apex-build'
166         - trigger-builds:
167           - project: 'apex-deploy-virtual-os-nosdn-nofeature-ha-{stream}'
168             predefined-parameters: |
169               BUILD_DIRECTORY=apex-verify-{stream}
170               OPNFV_CLEAN=yes
171             git-revision: false
172             block: true
173             same-node: true
174         - trigger-builds:
175           - project: 'functest-apex-{verify-slave}-suite-{stream}'
176             predefined-parameters: |
177               DEPLOY_SCENARIO=os-nosdn-nofeature-ha
178               FUNCTEST_SUITE_NAME=healthcheck
179             block: true
180             same-node: true
181         - trigger-builds:
182           - project: 'apex-deploy-virtual-os-odl_l3-nofeature-ha-{stream}'
183             predefined-parameters: |
184               BUILD_DIRECTORY=apex-verify-{stream}
185               OPNFV_CLEAN=yes
186             git-revision: false
187             block: true
188             same-node: true
189         - trigger-builds:
190           - project: 'functest-apex-{verify-slave}-suite-{stream}'
191             predefined-parameters: |
192               DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
193               FUNCTEST_SUITE_NAME=healthcheck
194             block: true
195             same-node: true
196         - 'apex-workspace-cleanup'
197
198 - job-template:
199     name: 'apex-runner-{platform}-{scenario}-{stream}'
200
201     # runner jobs for deploying manually
202
203     node: '{slave}'
204
205     disabled: false
206
207     parameters:
208         - apex-parameter:
209             gs-pathname: '{gs-pathname}'
210         - project-parameter:
211             project: '{project}'
212         - gerrit-parameter:
213             branch: '{branch}'
214         - string:
215             name: GIT_BASE
216             default: https://gerrit.opnfv.org/gerrit/$PROJECT
217             description: "Used for overriding the GIT URL coming from parameters macro."
218
219     scm:
220         - git-scm
221
222     properties:
223         - build-blocker:
224             use-build-blocker: true
225             blocking-jobs:
226                 - 'apex-daily.*'
227                 - 'apex-verify.*'
228
229     builders:
230         - trigger-builds:
231           - project: 'apex-deploy-{platform}-{scenario}-{stream}'
232             predefined-parameters:
233               OPNFV_CLEAN=yes
234             git-revision: false
235             block: true
236         - trigger-builds:
237           - project: 'yardstick-apex-{slave}-daily-{stream}'
238             predefined-parameters:
239               DEPLOY_SCENARIO={scenario}
240             block: true
241             block-thresholds:
242                 build-step-failure-threshold: 'never'
243                 failure-threshold: 'never'
244                 unstable-threshold: 'FAILURE'
245         - trigger-builds:
246           - project: 'functest-apex-{slave}-daily-{stream}'
247             predefined-parameters:
248               DEPLOY_SCENARIO={scenario}
249             block: true
250             block-thresholds:
251                 build-step-failure-threshold: 'never'
252                 failure-threshold: 'never'
253                 unstable-threshold: 'FAILURE'
254
255 - job-template:
256     name: 'apex-runner-cperf-{stream}'
257
258     # runner cperf job
259
260     node: 'intel-pod2'
261
262     disabled: false
263
264     parameters:
265         - apex-parameter:
266             gs-pathname: '{gs-pathname}'
267         - project-parameter:
268             project: '{project}'
269         - gerrit-parameter:
270             branch: '{branch}'
271         - string:
272             name: GIT_BASE
273             default: https://gerrit.opnfv.org/gerrit/$PROJECT
274             description: "Used for overriding the GIT URL coming from parameters macro."
275
276     scm:
277         - git-scm
278
279     properties:
280         - build-blocker:
281             use-build-blocker: false
282             block-level: 'NODE'
283             blocking-jobs:
284                 - 'apex-deploy.*'
285         - throttle:
286             max-per-node: 1
287             max-total: 10
288             option: 'project'
289
290     builders:
291         - trigger-builds:
292           - project: 'apex-deploy-baremetal-os-odl_l2-nofeature-ha-{stream}'
293             predefined-parameters:
294               OPNFV_CLEAN=yes
295             git-revision: false
296             block: true
297             same-node: true
298         - trigger-builds:
299           - project: 'cperf-apex-intel-pod2-daily-{stream}'
300             predefined-parameters:
301               DEPLOY_SCENARIO=os-odl_l2-nofeature-ha
302             block: true
303             same-node: true
304
305 - job-template:
306     name: 'apex-build-{stream}'
307
308     # Job template for builds
309     #
310     # Required Variables:
311     #     stream:    branch with - in place of / (eg. stable)
312     #     branch:    branch (eg. stable)
313     node: '{daily-slave}'
314
315     disabled: false
316
317     concurrent: true
318
319     parameters:
320         - project-parameter:
321             project: '{project}'
322         - apex-parameter:
323             gs-pathname: '{gs-pathname}'
324         - gerrit-parameter:
325             branch: '{branch}'
326         - string:
327             name: GIT_BASE
328             default: https://gerrit.opnfv.org/gerrit/$PROJECT
329             description: "Used for overriding the GIT URL coming from parameters macro."
330
331     scm:
332         - git-scm
333
334     properties:
335         - build-blocker:
336             use-build-blocker: true
337             block-level: 'NODE'
338             blocking-jobs:
339                 - 'apex-deploy.*'
340         - throttle:
341             max-per-node: 1
342             max-total: 10
343             option: 'project'
344
345     builders:
346         - 'apex-build'
347         - trigger-builds:
348           - project: 'apex-deploy-virtual-os-nosdn-nofeature-noha-{stream}'
349             predefined-parameters: |
350               BUILD_DIRECTORY=apex-build-{stream}/.build
351               OPNFV_CLEAN=yes
352             git-revision: false
353             same-node: true
354             block: true
355         - 'apex-upload-artifact'
356
357 - job-template:
358     name: 'apex-deploy-virtual-{scenario}-{stream}'
359
360     # Job template for virtual deployment
361     #
362     # Required Variables:
363     #     stream:    branch with - in place of / (eg. stable)
364     #     branch:    branch (eg. stable)
365     node: '{slave}'
366
367     concurrent: true
368
369     disabled: false
370
371     scm:
372         - git-scm
373
374     parameters:
375         - project-parameter:
376             project: '{project}'
377         - gerrit-parameter:
378             branch: '{branch}'
379         - apex-parameter:
380             gs-pathname: '{gs-pathname}'
381         - string:
382             name: DEPLOY_SCENARIO
383             default: '{scenario}'
384             description: "Scenario to deploy with."
385         - string:
386             name: OPNFV_CLEAN
387             default: 'no'
388             description: "Use yes in lower case to invoke clean. Indicates if the deploy environment should be cleaned before deployment"
389
390     properties:
391         - build-blocker:
392             use-build-blocker: true
393             block-level: 'NODE'
394             blocking-jobs:
395                 - 'apex-deploy.*'
396         - throttle:
397             max-per-node: 1
398             max-total: 10
399             option: 'project'
400
401     builders:
402         - 'apex-deploy'
403         - 'apex-workspace-cleanup'
404
405 - job-template:
406     name: 'apex-deploy-baremetal-{scenario}-{stream}'
407
408     # Job template for baremetal deployment
409     #
410     # Required Variables:
411     #     stream:    branch with - in place of / (eg. stable)
412     #     branch:    branch (eg. stable)
413     node: '{slave}'
414
415     disabled: false
416
417     scm:
418         - git-scm
419
420     parameters:
421         - project-parameter:
422             project: '{project}'
423         - gerrit-parameter:
424             branch: '{branch}'
425         - apex-parameter:
426             gs-pathname: '{gs-pathname}'
427         - string:
428             name: DEPLOY_SCENARIO
429             default: '{scenario}'
430             description: "Scenario to deploy with."
431
432     properties:
433         - build-blocker:
434             use-build-blocker: true
435             block-level: 'NODE'
436             blocking-jobs:
437                 - 'apex-verify.*'
438                 - 'apex-deploy.*'
439                 - 'apex-build.*'
440
441
442     builders:
443         - 'apex-deploy'
444         - 'apex-workspace-cleanup'
445
446 # Daily
447 - job-template:
448     name: 'apex-daily-{stream}'
449
450     # Job template for daily build
451     #
452     # Required Variables:
453     #     stream:    branch with - in place of / (eg. stable)
454     #     branch:    branch (eg. stable)
455     node: '{daily-slave}'
456
457     disabled: false
458
459     scm:
460         - git-scm
461
462     parameters:
463         - project-parameter:
464             project: '{project}'
465         - gerrit-parameter:
466             branch: '{branch}'
467         - apex-parameter:
468             gs-pathname: '{gs-pathname}'
469
470     properties:
471         - build-blocker:
472             use-build-blocker: true
473             block-level: 'NODE'
474             blocking-jobs:
475                 - 'apex-verify.*'
476                 - 'apex-deploy.*'
477                 - 'apex-build.*'
478                 - 'apex-runner.*'
479
480     triggers:
481         - 'apex-{stream}'
482
483     builders:
484         - trigger-builds:
485           - project: 'apex-build-{stream}'
486             git-revision: true
487             current-parameters: true
488             same-node: true
489             block: true
490         - trigger-builds:
491           - project: 'apex-deploy-baremetal-os-nosdn-nofeature-ha-{stream}'
492             predefined-parameters: |
493               BUILD_DIRECTORY=apex-build-{stream}/.build
494               OPNFV_CLEAN=yes
495             git-revision: true
496             same-node: true
497             block-thresholds:
498                 build-step-failure-threshold: 'never'
499             block: true
500         - trigger-builds:
501           - project: 'functest-apex-{daily-slave}-daily-{stream}'
502             predefined-parameters:
503               DEPLOY_SCENARIO=os-nosdn-nofeature-ha
504             block: true
505             same-node: true
506             block-thresholds:
507                 build-step-failure-threshold: 'never'
508                 failure-threshold: 'never'
509                 unstable-threshold: 'FAILURE'
510         - trigger-builds:
511           - project: 'yardstick-apex-{slave}-daily-{stream}'
512             predefined-parameters:
513               DEPLOY_SCENARIO=os-nosdn-nofeature-ha
514             block: true
515             same-node: true
516             block-thresholds:
517                 build-step-failure-threshold: 'never'
518                 failure-threshold: 'never'
519                 unstable-threshold: 'FAILURE'
520         - trigger-builds:
521           - project: 'apex-deploy-baremetal-os-odl_l3-nofeature-ha-{stream}'
522             predefined-parameters: |
523               BUILD_DIRECTORY=apex-build-{stream}/.build
524               OPNFV_CLEAN=yes
525             git-revision: true
526             same-node: true
527             block-thresholds:
528                 build-step-failure-threshold: 'never'
529             block: true
530         - trigger-builds:
531           - project: 'functest-apex-{daily-slave}-daily-{stream}'
532             predefined-parameters:
533               DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
534             block: true
535             same-node: true
536             block-thresholds:
537                 build-step-failure-threshold: 'never'
538                 failure-threshold: 'never'
539                 unstable-threshold: 'FAILURE'
540         - trigger-builds:
541           - project: 'yardstick-apex-{slave}-daily-{stream}'
542             predefined-parameters:
543               DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
544             block: true
545             same-node: true
546             block-thresholds:
547                 build-step-failure-threshold: 'never'
548                 failure-threshold: 'never'
549                 unstable-threshold: 'FAILURE'
550
551 - job-template:
552     name: 'apex-gs-clean-{stream}'
553
554     # Job template for clean
555     #
556     # Required Variables:
557     #     stream:    branch with - in place of / (eg. stable)
558     node: '{slave}'
559
560     disabled: false
561
562     parameters:
563         - project-parameter:
564             project: '{project}'
565         - apex-parameter:
566             gs-pathname: '{gs-pathname}'
567
568     builders:
569         - 'apex-gs-clean'
570
571     triggers:
572         - 'apex-gs-clean-{stream}'
573
574
575 ########################
576 # parameter macros
577 ########################
578 - parameter:
579     name: apex-parameter
580     parameters:
581         - string:
582             name: ARTIFACT_NAME
583             default: 'latest'
584             description: "RPM Artifact name that will be appended to GS_URL to deploy a specific artifact"
585         - string:
586             name: ARTIFACT_VERSION
587             default: 'daily'
588             description: "Artifact version type"
589         - string:
590             name: BUILD_DIRECTORY
591             default: $WORKSPACE/build
592             description: "Directory where the build artifact will be located upon the completion of the build."
593         - string:
594             name: CACHE_DIRECTORY
595             default: $HOME/opnfv/cache{gs-pathname}
596             description: "Directory where the cache to be used during the build is located."
597         - string:
598             name: GIT_BASE
599             default: https://gerrit.opnfv.org/gerrit/$PROJECT
600             description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
601         - string:
602             name: GS_PATHNAME
603             default: '{gs-pathname}'
604             description: "Version directory where opnfv artifacts are stored in gs repository"
605         - string:
606             name: GS_URL
607             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
608             description: "URL to Google Storage."
609
610 ########################
611 # builder macros
612 ########################
613 - builder:
614     name: 'apex-unit-test'
615     builders:
616         - shell:
617             !include-raw: ./apex-unit-test.sh
618
619 - builder:
620     name: 'apex-build'
621     builders:
622         - shell:
623             !include-raw: ./apex-build.sh
624
625 - builder:
626     name: 'apex-workspace-cleanup'
627     builders:
628         - shell:
629             !include-raw: ./apex-workspace-cleanup.sh
630
631 - builder:
632     name: 'apex-upload-artifact'
633     builders:
634         - shell:
635             !include-raw: ./apex-upload-artifact.sh
636
637 - builder:
638     name: 'apex-gs-cleanup'
639     builders:
640         - shell:
641             !include-raw: ./apex-gs-cleanup.sh
642
643 - builder:
644     name: 'apex-deploy'
645     builders:
646         - shell:
647             !include-raw: ./apex-deploy.sh
648
649
650 #######################
651 # trigger macros
652 ########################
653 - trigger:
654     name: 'apex-master'
655     triggers:
656         - timed: '0 3 * * *'
657 - trigger:
658     name: 'apex-gs-clean-{stream}'
659     triggers:
660         - timed: '0 2 * * *'