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