Add missing chlorine branch
[releng/builder.git] / jjb / integration / integration-test-jobs.yaml
1 ---
2 - project:
3     name: integration-test
4     project: integration/test
5     project-name: integration-test
6     jobs:
7       - "integration-patch-test-{stream}"
8       - "inttest-multipatch"
9       - "integration-merge-dashboard"
10       - "{project-name}-rtd-jobs":
11           build-node: centos7-builder-2c-2g
12           project-pattern: integration/test
13           rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-integrationtest/32934/
14           rtd-token: 70766f97941a74ef80b84749ac4799e5ddeee99a
15       - gerrit-tox-verify:
16           branch: master
17           stream: master
18           build-node: centos7-builder-2c-2g
19
20     # CSIT Lists in defaults.yaml
21     stream:
22       - chlorine:
23           branch: "master"
24           mvn-version: "mvn38"
25           java-version: "openjdk11"
26           csit-list: !include: csit-jobs-chlorine.lst
27           build-order: >
28             odlparent infrautils yangtools mdsal controller aaa netconf bgpcep
29             serviceutils daexim jsonrpc ovsdb openflowplugin lispflowmapping
30             integration/distribution
31
32       - sulfur:
33           branch: "stable/sulfur"
34           mvn-version: "mvn38"
35           java-version: "openjdk11"
36           csit-list: !include: csit-jobs-sulfur.lst
37           build-order: >
38             odlparent infrautils yangtools mdsal controller aaa netconf bgpcep
39             serviceutils daexim jsonrpc ovsdb openflowplugin lispflowmapping
40             integration/distribution
41
42       - phosphorus:
43           branch: "stable/phosphorus"
44           mvn-version: "mvn35"
45           java-version: "openjdk11"
46           csit-list: !include: csit-jobs-phosphorus.lst
47           build-order: >
48             odlparent infrautils yangtools mdsal controller aaa netconf bgpcep
49             serviceutils daexim jsonrpc ovsdb openflowplugin lispflowmapping
50             integration/distribution
51
52       - silicon:
53           branch: "stable/silicon"
54           mvn-version: "mvn35"
55           java-version: "openjdk11"
56           csit-list: !include: csit-jobs-silicon.lst
57           build-order: >
58             odlparent infrautils yangtools mdsal controller serviceutils aaa netconf
59             daexim jsonrpc ovsdb neutron openflowplugin lispflowmapping
60             bgpcep integration/distribution
61
62 - project:
63     name: integration-distribution
64     project: integration/test
65     project-name: integration-test
66     jobs:
67       - "integration-distribution-test-{stream}"
68       - "integration-distribution-mri-test-{stream}"
69       - "integration-distribution-weekly-test-trigger-{stream}"
70       - "integration-update-csit-tests-{stream}"
71
72     # CSIT Lists in defaults.yaml
73     stream:
74       - chlorine:
75           branch: "master"
76           csit-blocklist: >
77             aaa controller dluxapps genius lispflowmapping l2switch mdsal
78             netconf netvirt odlmicro sxp yangtools
79             gate longevity sanity tdd tempest wip
80             bgpcep-csit-3node-bgpclustering-all
81             bgpcep-csit-3node-bgpclustering-ha-only
82             openflowplugin-csit-1node-bundle-based-reconciliation
83             last-line-is-ignored-so-we-need-something-dummy-here-to-make-sure-the-real-last-line-is-used
84           csit-list: !include: csit-jobs-chlorine.lst
85           csit-mri-list: "{csit-mri-list-chlorine}"
86           csit-weekly-list: "{csit-weekly-list-chlorine}"
87       - sulfur:
88           branch: "stable/sulfur"
89           csit-blocklist: >
90             aaa controller dluxapps genius lispflowmapping l2switch mdsal
91             netconf netvirt odlmicro sxp yangtools
92             gate longevity sanity tdd tempest wip
93             bgpcep-csit-3node-bgpclustering-all
94             bgpcep-csit-3node-bgpclustering-ha-only
95             openflowplugin-csit-1node-bundle-based-reconciliation
96             last-line-is-ignored-so-we-need-something-dummy-here-to-make-sure-the-real-last-line-is-used
97           csit-list: !include: csit-jobs-sulfur.lst
98           csit-mri-list: "{csit-mri-list-sulfur}"
99           csit-weekly-list: "{csit-weekly-list-sulfur}"
100       - phosphorus:
101           branch: "stable/phosphorus"
102           csit-blocklist: >
103             aaa controller dluxapps genius lispflowmapping l2switch mdsal
104             netconf netvirt odlmicro sxp yangtools
105             gate longevity sanity tdd tempest wip
106             bgpcep-csit-3node-bgpclustering-all
107             bgpcep-csit-3node-bgpclustering-ha-only
108             openflowplugin-csit-1node-bundle-based-reconciliation
109             last-line-is-ignored-so-we-need-something-dummy-here-to-make-sure-the-real-last-line-is-used
110           csit-list: !include: csit-jobs-phosphorus.lst
111           csit-mri-list: "{csit-mri-list-phosphorus}"
112           csit-weekly-list: "{csit-weekly-list-phosphorus}"
113       - silicon:
114           branch: "stable/silicon"
115           csit-blocklist: >
116             aaa bier controller dluxapps genius lispflowmapping l2switch mdsal nemo
117             netconf netvirt odlmicro packetcable sfc sxp telemetry tsdr usc yangtools
118             gate longevity sanity tdd tempest wip
119             bgpcep-csit-3node-bgpclustering-all
120             bgpcep-csit-3node-bgpclustering-ha-only
121             openflowplugin-csit-1node-bundle-based-reconciliation
122             last-line-is-ignored-so-we-need-something-dummy-here-to-make-sure-the-real-last-line-is-used
123           csit-list: !include: csit-jobs-silicon.lst
124           csit-mri-list: "{csit-mri-list-silicon}"
125           csit-weekly-list: "{csit-weekly-list-silicon}"
126
127 - project:
128     name: integration-sanity
129     project: integration/test
130     project-name: integration-test
131     jobs:
132       - "integration-sanity-test-{stream}"
133
134     stream:
135       - chlorine:
136           branch: "master"
137           karaf-version: odl
138           csit-sanity-list: "{csit-sanity-list-chlorine}"
139       - sulfur:
140           branch: "stable/sulfur"
141           karaf-version: odl
142           csit-sanity-list: "{csit-sanity-list-sulfur}"
143       - phosphorus:
144           branch: "stable/phosphorus"
145           karaf-version: odl
146           csit-sanity-list: "{csit-sanity-list-phosphorus}"
147       - silicon:
148           branch: "stable/silicon"
149           karaf-version: odl
150           csit-sanity-list: "{csit-sanity-list-silicon}"
151
152 - job-template:
153     name: "integration-merge-dashboard"
154     project-type: freestyle
155     node: centos7-builder-2c-1g
156
157     properties:
158       - opendaylight-infra-properties:
159           build-days-to-keep: "{build-days-to-keep}"
160
161     parameters:
162       - opendaylight-infra-parameters:
163           os-cloud: "{os-cloud}"
164           project: "{project}"
165           branch: "master"
166           refspec: "refs/heads/master"
167           artifacts: "{archive-artifacts}"
168
169     scm:
170       - integration-gerrit-scm:
171           basedir: "test"
172           refspec: "$GERRIT_REFSPEC"
173           branch: "master"
174
175     wrappers:
176       - opendaylight-infra-wrappers:
177           build-timeout: "{build-timeout}"
178
179     triggers:
180       - gerrit-trigger-patch-merged:
181           gerrit-server-name: "{gerrit-server-name}"
182           name: "{project}"
183           branch: "master"
184           files: "dashboard/**"
185           forbidden-files: ""
186
187     builders:
188       - lf-infra-pre-build
189       - config-file-provider:
190           files:
191             - file-id: odl-elastic-cloud
192               target: "$HOME/.netrc"
193       - integration-install-robotframework
194         # yamllint disable-line rule:line-length
195       - shell: python3 $WORKSPACE/test/csit/scripts/push_dashboard.py a4ff38b99ef2c7626450543021b4c134.us-east-1.aws.found.io:9243
196
197     publishers:
198       - lf-infra-publish
199       - email-notification:
200           email-recipients: "{email-recipients}"
201           email-prefix: "[{project-name}]"
202
203 - job-template:
204     name: "integration-distribution-test-{stream}"
205     # Goal: Verify a distribution through all system test available
206     # Operation: This template takes a distribution and passes all available system test
207
208     project-type: freestyle
209     node: queue-disttest-2c-1g
210
211     properties:
212       - opendaylight-infra-properties:
213           build-days-to-keep: "{build-days-to-keep}"
214
215     parameters:
216       - integration-bundle-url:
217           bundle-url: "{bundle-url}"
218       - distribution-karaf-version:
219           karaf-version: "{karaf-version}"
220
221     builders:
222       - lf-infra-pre-build
223       - trigger-builds:
224           - project: "{csit-list}"
225             block: true
226             predefined-parameters: |
227               BUNDLE_URL=$BUNDLE_URL
228               KARAF_VERSION=$KARAF_VERSION
229
230     wrappers:
231       - lf-infra-wrappers:
232           build-timeout: 1440
233           jenkins-ssh-credential: "{jenkins-ssh-credential}"
234
235     publishers:
236       - opendaylight-infra-generate-csit-status-report
237       - email-notification:
238           email-recipients: "{email-recipients}"
239           email-prefix: "[integration]"
240       - lf-infra-publish
241
242 - job-template:
243     name: "integration-sanity-test-{stream}"
244     # Goal: Verify a distribution through sanity test
245     # Operation: This template takes a distribution and passes sanity test
246     # This jobs works for both managed & unmanaged distro.
247
248     project-type: freestyle
249     node: queue-intque-2c-1g
250
251     properties:
252       - opendaylight-infra-properties:
253           build-days-to-keep: "{build-days-to-keep}"
254
255     parameters:
256       - integration-bundle-url:
257           bundle-url: "{bundle-url}"
258       - distribution-karaf-version:
259           karaf-version: "{karaf-version}"
260
261     triggers:
262       - timed: "{schedule-daily}"
263
264     builders:
265       - lf-infra-pre-build
266       - trigger-builds:
267           - project: "{csit-sanity-list}"
268             block: true
269             predefined-parameters: |
270               BUNDLE_URL=$BUNDLE_URL
271               KARAF_VERSION=$KARAF_VERSION
272
273     publishers:
274       - email-notification:
275           email-recipients: "{email-recipients}"
276           email-prefix: "[integration]"
277
278 - job-template:
279     name: "integration-patch-test-{stream}"
280     # Template: integration-patch-test-{stream}
281     # Goal: Build a patch and run all available system test on a distribution containing the change
282     # Operation: This job template builds a patch, creates a distribution containing the patch, and
283     # triggers the distribution test when test-integration is used in gerrit comments
284
285     project-type: freestyle
286     node: centos7-builder-2c-8g
287
288     properties:
289       - opendaylight-infra-properties:
290           build-days-to-keep: "{build-days-to-keep}"
291
292     parameters:
293       - opendaylight-infra-parameters:
294           os-cloud: "{os-cloud}"
295           project: "$GERRIT_PROJECT"
296           branch: "{branch}"
297           refspec: "$GERRIT_REFSPEC"
298           artifacts: "{archive-artifacts}"
299       - integration-distribution-branch:
300           branch: "{branch}"
301       - distribution-karaf-version:
302           karaf-version: "{karaf-version}"
303       - integration-distribution-git-url:
304           git-url: "{git-url}"
305       - maven-exec:
306           maven-version: "{mvn-version}"
307
308     scm:
309       - integration-gerrit-scm:
310           basedir: "$GERRIT_PROJECT"
311           refspec: "$GERRIT_REFSPEC"
312           branch: "{branch}"
313       - integration-distribution-scm:
314           branch: "{branch}"
315
316     wrappers:
317       - opendaylight-infra-wrappers:
318           build-timeout: "720"
319
320     triggers:
321       - gerrit:
322           server-name: "{gerrit-server-name}"
323           trigger-on:
324             - comment-added-contains-event:
325                 comment-contains-value: "test-integration"
326           projects:
327             - project-compare-type: "ANT"
328               project-pattern: "**"
329               branches:
330                 - branch-compare-type: "ANT"
331                   branch-pattern: "**/{branch}"
332           skip-vote:
333             successful: true
334             failed: true
335             unstable: true
336             notbuilt: true
337
338     builders:
339       - lf-infra-pre-build
340       - integration-rebase-gerrit-patch
341       - wipe-org-opendaylight-repo
342       - lf-provide-maven-settings:
343           global-settings-file: "global-settings"
344           settings-file: "integration-settings"
345       - lf-update-java-alternatives:
346           java-version: "{java-version}"
347       - maven-target:
348           maven-version: "{mvn-version}"
349           pom: "$GERRIT_PROJECT/pom.xml"
350           goals: |
351             clean install dependency:tree -DoutputFile=dependency_tree.txt
352             -Pq
353             -Dstream={stream}
354             {opendaylight-infra-mvn-opts}
355             # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
356           java-opts:
357             - "-Xmx4096m -Dmaven.compile.fork=true"
358           settings: integration-settings
359           settings-type: cfp
360           global-settings: global-settings
361           global-settings-type: cfp
362       - maven-target:
363           maven-version: "{mvn-version}"
364           pom: distribution/pom.xml
365           goals: |
366             clean install dependency:tree -DoutputFile=dependency_tree.txt
367             {opendaylight-infra-mvn-opts}
368             # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
369           java-opts:
370             - "-Xmx1024m -Dmaven.compile.fork=true"
371           settings: integration-settings
372           settings-type: cfp
373           global-settings: global-settings
374           global-settings-type: cfp
375       - integration-upload-distribution:
376           dist-pom: distribution/pom.xml
377           settings-project: integration
378       - trigger-builds:
379           - project: "{csit-list}"
380             block: true
381             predefined-parameters: |
382               BUNDLE_URL=$BUNDLE_URL
383               KARAF_VERSION=$KARAF_VERSION
384
385     publishers:
386       - lf-infra-publish
387       - email-notification:
388           email-recipients: "{email-recipients}"
389           email-prefix: "[$GERRIT_PROJECT]"
390
391 - job-template:
392     name: "{prefix}integration-multipatch-test-{stream}"
393     # Goal: Build one or more patches and run all available system test on a distribution containing the change.
394     # Operation: This job template checks out and builds in order each patch provided in job parameters, finally
395     # it creates a distribution containing all patches and triggers the distribution test job which includes most
396     # (if not all) available CSIT jobs.
397
398     id: inttest-multipatch
399     project-type: freestyle
400     node: centos7-builder-8c-8g
401     concurrent: true
402
403     properties:
404       - opendaylight-infra-properties:
405           build-days-to-keep: "{build-days-to-keep}"
406
407     parameters:
408       - string:
409           name: PATCHES_TO_BUILD
410           default: "$PATCHES_TO_BUILD"
411           description: |
412             Ordered list of patches to build in the format of project=changeset (checkout) or
413             project:changeset (cherry-pick) for example: genius=32/53632/9,netvirt:59/50259/47.
414       - string:
415           name: BUILD_ORDER
416           default: "{build-order}"
417           description: "Build order for multipatch test when topic is used"
418       - string:
419           name: BUILD_FAST
420           default: "true"
421           description: "Set true to build fast -Pq"
422       - string:
423           name: BUILD_NORMAL
424           default: ""
425           description: "List of projects to build normal (no -Pq) when BUILD_FAST=true"
426       - string:
427           name: RUN_TEST
428           default: "false"
429           description: "Set true to run test after build"
430       - integration-distribution-branch:
431           branch: "{branch}"
432       - integration-distribution-stream:
433           stream: "{stream}"
434       - distribution-karaf-version:
435           karaf-version: "{karaf-version}"
436       - opendaylight-infra-parameters:
437           os-cloud: "{os-cloud}"
438           project: "integration/distribution"
439           branch: "{branch}"
440           refspec: "refs/heads/{branch}"
441           artifacts: "{archive-artifacts}"
442       - lf-infra-maven-parameters:
443           mvn-opts: ""
444           mvn-params: ""
445           mvn-version: "{mvn-version}"
446           staging-profile-id: "" # Staging repos do not make sense for this job
447
448     wrappers:
449       - opendaylight-infra-wrappers:
450           build-timeout: "1200"
451
452     triggers:
453       - gerrit:
454           server-name: "{gerrit-server-name}"
455           trigger-on:
456             - comment-added-contains-event:
457                 comment-contains-value: "multipatch-build"
458           projects:
459             - project-compare-type: ANT
460               project-pattern: "**"
461               branches:
462                 - branch-compare-type: ANT
463                   branch-pattern: "**/{branch}"
464
465     builders:
466       - lf-infra-pre-build
467       - wipe-org-opendaylight-repo
468       - lf-maven-install:
469           mvn-version: "{mvn-version}"
470       - lf-provide-maven-settings:
471           global-settings-file: "global-settings"
472           settings-file: "integration-distribution-settings"
473       - lf-update-java-alternatives:
474           java-version: "{java-version}"
475       - integration-multipatch-builder
476       - integration-upload-distribution:
477           dist-pom: patch_tester/distribution/pom.xml
478           settings-project: integration
479       - conditional-step:
480           condition-kind: boolean-expression
481           condition-expression: $RUN_TEST
482           steps:
483             - trigger-builds:
484                 - project: >
485                     integration-distribution-test-{stream},
486                     integration-distribution-mri-test-{stream}
487                   predefined-parameters: |
488                     BUNDLE_URL=$BUNDLE_URL
489                     KARAF_VERSION=$KARAF_VERSION
490
491     publishers:
492       - lf-infra-publish
493       - email-notification:
494           email-recipients: "{email-recipients}"
495           email-prefix: "[int/dist]"
496
497 - job-template:
498     name: "integration-distribution-mri-test-{stream}"
499
500     project-type: freestyle
501     node: queue-intque-2c-1g
502
503     properties:
504       - opendaylight-infra-properties:
505           build-days-to-keep: "{build-days-to-keep}"
506
507     parameters:
508       - integration-bundle-url:
509           bundle-url: "{bundle-url}"
510       - distribution-karaf-version:
511           karaf-version: "{karaf-version}"
512
513     triggers:
514       - timed: "{schedule-weekly}"
515
516     builders:
517       - trigger-builds:
518           - project: "{csit-mri-list}"
519             block: true
520             predefined-parameters: |
521               BUNDLE_URL=$BUNDLE_URL
522               KARAF_VERSION=$KARAF_VERSION
523
524     publishers:
525       - email-notification:
526           email-recipients: "{email-recipients}"
527           email-prefix: "[integration]"
528
529 - job-template:
530     name: "{project}-distribution-mri-test-{stream}"
531     id: inttest-distribution-mri-test
532
533     project-type: freestyle
534     node: queue-intque-2c-1g
535
536     properties:
537       - opendaylight-infra-properties:
538           build-days-to-keep: "{build-days-to-keep}"
539
540     parameters:
541       - integration-bundle-url:
542           bundle-url: "{bundle-url}"
543       - distribution-karaf-version:
544           karaf-version: "{karaf-version}"
545
546     triggers:
547       - timed: "{schedule-weekly}"
548
549     builders:
550       - trigger-builds:
551           - project: "{csit-mri-list}"
552             block: true
553             predefined-parameters: |
554               BUNDLE_URL=$BUNDLE_URL
555               KARAF_VERSION=$KARAF_VERSION
556
557     publishers:
558       - email-notification:
559           email-recipients: "{email-recipients}"
560           email-prefix: "[integration]"
561
562 - job-template:
563     name: "integration-distribution-weekly-test-trigger-{stream}"
564
565     project-type: freestyle
566     node: queue-intque-2c-1g
567
568     properties:
569       - opendaylight-infra-properties:
570           build-days-to-keep: "{build-days-to-keep}"
571
572     parameters:
573       - integration-bundle-url:
574           bundle-url: "{bundle-url}"
575       - distribution-karaf-version:
576           karaf-version: "{karaf-version}"
577
578     triggers:
579       - timed: "{schedule-weekly}"
580
581     builders:
582       - trigger-builds:
583           - project: "{csit-weekly-list}"
584             block: true
585             predefined-parameters: |
586               BUNDLE_URL=$BUNDLE_URL
587               KARAF_VERSION=$KARAF_VERSION
588
589     publishers:
590       - email-notification:
591           email-recipients: "{email-recipients}"
592           email-prefix: "[integration]"
593
594 - job-template:
595     name: "integration-update-csit-tests-{stream}"
596
597     # This job's purpose is to update csit
598     # tests to run in integration-distribution-test-{stream}
599     # by updating integration files: csit-list-{stream}.inc
600     # These files can be used as !include in int-dist-test-{stream}
601
602     ######################
603     # Default parameters #
604     ######################
605
606     git-url: "$GIT_URL/$PROJECT"
607     submodule-disable: false
608     submodule-recursive: true
609     submodule-timeout: 10
610
611     #####################
612     # Job Configuration #
613     #####################
614
615     project-type: freestyle
616     node: centos7-builder-2c-2g
617
618     properties:
619       - lf-infra-properties:
620           build-days-to-keep: 7
621
622     parameters:
623       - lf-infra-parameters:
624           project: releng/builder # Hardcode as this job needs to pull releng/builder
625           stream: "{stream}"
626           branch: master # Hardcode as releng/builder only has master
627           lftools-version: "{lftools-version}"
628       - string:
629           name: CSIT_BLOCKLIST
630           default: "{csit-blocklist}"
631           description: Space separated list of jobs strings to blocklist.
632
633     scm:
634       - lf-infra-gerrit-scm:
635           jenkins-ssh-credential: "{jenkins-ssh-credential}"
636           git-url: "{git-url}"
637           refspec: "$GERRIT_REFSPEC"
638           branch: "$GERRIT_BRANCH"
639           submodule-disable: "{submodule-disable}"
640           submodule-recursive: "{submodule-recursive}"
641           submodule-timeout: "{submodule-timeout}"
642           choosing-strategy: default
643
644     wrappers:
645       - lf-infra-wrappers:
646           build-timeout: 10
647           jenkins-ssh-credential: "{jenkins-ssh-credential}"
648
649     triggers:
650       - reverse:
651           jobs: builder-jjb-merge
652
653     builders:
654       - lf-infra-pre-build
655       - shell: !include-raw-escape: update-csit-tests.sh
656       - shell: |
657           git status
658           git add jjb/integration/*.lst
659       - lf-infra-push-gerrit-patch:
660           project: "releng/builder"
661           gerrit-user: "jenkins-$SILO"
662           gerrit-host: "git.opendaylight.org"
663           gerrit-topic: "auto-update-csit-jobs-{stream}"
664           gerrit-commit-message: "Auto Update CSIT Jobs to run for {stream}"
665           reviewers-email: "jenkins-releng@opendaylight.org"
666
667     publishers:
668       - lf-infra-publish
669
670 - project:
671     name: integration-info
672     jobs:
673       - gerrit-info-yaml-verify
674     project: integration
675     project-name: integration
676     branch: master
677     build-node: centos7-builder-2c-1g
678
679 - project:
680     name: integration-view
681     views:
682       - project-view
683     project-name: integration