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