Create Neon jobs and bump fluorine 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       - 'integration-multipatch-test-{stream}'
9       - '{project-name}-rtd-jobs':
10           build-node: centos7-builder-2c-2g
11           project-pattern: integration/test
12           rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-integrationtest/32934/
13           rtd-token: 70766f97941a74ef80b84749ac4799e5ddeee99a
14       - gerrit-tox-verify:
15           branch: master
16           stream: master
17
18     # CSIT Lists in defaults.yaml
19     stream:
20       - neon:
21           branch: 'master'
22           mvn-version: 'mvn35'
23           csit-list: !include: csit-jobs-neon.lst
24           build-order: >
25               odlparent yangtools infrautils mdsal controller aaa netconf daexim bgpcep
26               ovsdb neutron lispflowmapping openflowplugin coe genius sfc netvirt
27
28       - fluorine:
29           branch: 'stable/fluorine'
30           mvn-version: 'mvn35'
31           csit-list: !include: csit-jobs-fluorine.lst
32           build-order: >
33               odlparent yangtools infrautils mdsal controller aaa netconf daexim bgpcep
34               ovsdb neutron lispflowmapping openflowplugin coe genius sfc netvirt
35
36       - oxygen:
37           branch: 'stable/oxygen'
38           mvn-version: 'mvn35'
39           csit-list: !include: csit-jobs-oxygen.lst
40           build-order: >
41               odlparent yangtools infrautils mdsal controller aaa netconf daexim bgpcep
42               ovsdb neutron lispflowmapping openflowplugin coe genius sfc netvirt
43
44 - project:
45     name: integration-distribution
46     project: integration/test
47     project-name: integration-test
48     jobs:
49       - 'integration-distribution-test-{stream}'
50       - 'integration-distribution-weekly-test-trigger-{stream}'
51       - 'integration-distribution-high-frequency-test-trigger-{stream}'
52       - 'integration-update-csit-tests-{stream}'
53
54     # CSIT Lists in defaults.yaml
55     stream:
56       - fluorine:
57           branch: 'master'
58           csit-blacklist: >
59               alto bier capwap centinel didm dluxapps groupbasedpolicy iotdm jsonrpc lacp
60               l2switch messaging4transport nemo netide nic ocpplugin of-config p4plugin packetcable
61               sdninterfaceapp sxp tsdr unimgr usc usecplugin vtn gate longevity sanity tdd tempest wip
62           csit-list: !include: csit-jobs-fluorine.lst
63           csit-weekly-list: '{csit-weekly-list-fluorine}'
64           csit-high-frequency-list: '{csit-high-frequency-list-fluorine}'
65       - oxygen:
66           branch: 'stable/oxygen'
67           csit-blacklist: >
68               capwap centinel didm iotdm jsonrpc lacp messaging4transport netide nic
69               ocpplugin sdninterfaceapp unimgr usecplugin gate longevity sanity tdd tempest wip
70           csit-list: !include: csit-jobs-oxygen.lst
71           csit-weekly-list: '{csit-weekly-list-oxygen}'
72           csit-high-frequency-list: '{csit-high-frequency-list-oxygen}'
73
74 - project:
75     name: integration-sanity
76     project: integration/test
77     project-name: integration-test
78     jobs:
79       - 'integration-sanity-test-{stream}'
80
81     stream:
82       - fluorine:
83           branch: 'master'
84           karaf-version: odl
85           csit-sanity-list: '{csit-sanity-list-fluorine}'
86       - oxygen:
87           branch: 'stable/oxygen'
88           karaf-version: karaf4
89           csit-sanity-list: '{csit-sanity-list-oxygen}'
90
91 - job-template:
92     name: 'integration-distribution-test-{stream}'
93     # Goal: Verify a distribution through all system test available
94     # Operation: This template takes a distribution and passes all available system test
95
96     project-type: freestyle
97     node: queue-disttest-2c-1g
98
99     properties:
100       - opendaylight-infra-properties:
101           build-days-to-keep: '{build-days-to-keep}'
102
103     parameters:
104       - integration-bundle-url:
105           bundle-url: '{bundle-url}'
106       - distribution-karaf-version:
107           karaf-version: '{karaf-version}'
108
109     builders:
110       - trigger-builds:
111           - project: '{csit-list}'
112             block: true
113             predefined-parameters: |
114               BUNDLE_URL=$BUNDLE_URL
115               KARAF_VERSION=$KARAF_VERSION
116
117     publishers:
118       - opendaylight-infra-generate-csit-status-report
119       - email-notification:
120           email-recipients: '{email-recipients}'
121           email-prefix: '[integration]'
122       - lf-infra-publish
123
124 - job-template:
125     name: 'integration-sanity-test-{stream}'
126     # Goal: Verify a distribution through sanity test
127     # Operation: This template takes a distribution and passes sanity test
128     # This jobs works for both managed & unmanaged distro.
129
130     project-type: freestyle
131     node: queue-intque-2c-1g
132
133     properties:
134       - opendaylight-infra-properties:
135           build-days-to-keep: '{build-days-to-keep}'
136
137     parameters:
138       - integration-bundle-url:
139           bundle-url: '{bundle-url}'
140       - distribution-karaf-version:
141           karaf-version: '{karaf-version}'
142
143     triggers:
144       - timed: '{schedule-daily}'
145
146     builders:
147       - trigger-builds:
148           - project: '{csit-sanity-list}'
149             block: true
150             predefined-parameters: |
151               BUNDLE_URL=$BUNDLE_URL
152               KARAF_VERSION=$KARAF_VERSION
153
154     publishers:
155       - email-notification:
156           email-recipients: '{email-recipients}'
157           email-prefix: '[integration]'
158
159 - job-template:
160     name: 'integration-patch-test-{stream}'
161     # Template: integration-patch-test-{stream}
162     # Goal: Build a patch and run all available system test on a distribution containing the change
163     # Operation: This job template builds a patch, creates a distribution containing the patch, and
164     # triggers the distribution test when test-integration is used in gerrit comments
165
166     project-type: freestyle
167     node: centos7-builder-2c-8g
168
169     properties:
170       - opendaylight-infra-properties:
171           build-days-to-keep: '{build-days-to-keep}'
172
173     parameters:
174       - opendaylight-infra-parameters:
175           os-cloud: '{os-cloud}'
176           project: '$GERRIT_PROJECT'
177           branch: '{branch}'
178           refspec: '$GERRIT_REFSPEC'
179           artifacts: '{archive-artifacts}'
180       - integration-distribution-branch:
181           branch: '{branch}'
182       - distribution-karaf-version:
183           karaf-version: '{karaf-version}'
184       - integration-distribution-git-url:
185           git-url: '{git-url}'
186       - maven-exec:
187           maven-version: mvn35
188
189     scm:
190       - integration-gerrit-scm:
191           basedir: '$GERRIT_PROJECT'
192           refspec: '$GERRIT_REFSPEC'
193           branch: '{branch}'
194       - integration-distribution-scm:
195           branch: '{branch}'
196
197     wrappers:
198       - opendaylight-infra-wrappers:
199           build-timeout: '720'
200
201     triggers:
202       - gerrit:
203           server-name: '{gerrit-server-name}'
204           trigger-on:
205             - comment-added-contains-event:
206                 comment-contains-value: 'test-integration'
207           projects:
208             - project-compare-type: 'ANT'
209               project-pattern: '**'
210               branches:
211                 - branch-compare-type: 'ANT'
212                   branch-pattern: '**/{branch}'
213           skip-vote:
214             successful: true
215             failed: true
216             unstable: true
217             notbuilt: true
218
219     builders:
220       - integration-rebase-gerrit-patch
221       - wipe-org-opendaylight-repo
222       - provide-maven-settings:
223           global-settings-file: 'global-settings'
224           settings-file: 'integration-settings'
225       - maven-target:
226           maven-version: 'mvn35'
227           pom: '$GERRIT_PROJECT/pom.xml'
228           goals: |
229               clean install dependency:tree -DoutputFile=dependency_tree.txt
230               -Pq
231               -Dstream={stream}
232               {opendaylight-infra-mvn-opts}
233           # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
234           java-opts:
235             - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
236           settings: integration-settings
237           settings-type: cfp
238           global-settings: global-settings
239           global-settings-type: cfp
240       - maven-target:
241           maven-version: mvn35
242           pom: distribution/pom.xml
243           goals: |
244               clean install dependency:tree -DoutputFile=dependency_tree.txt
245               {opendaylight-infra-mvn-opts}
246           # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
247           java-opts:
248             - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
249           settings: integration-settings
250           settings-type: cfp
251           global-settings: global-settings
252           global-settings-type: cfp
253       - integration-upload-distribution:
254           dist-pom: distribution/pom.xml
255       - trigger-builds:
256           - project: '{csit-list}'
257             block: true
258             predefined-parameters: |
259               BUNDLE_URL=$BUNDLE_URL
260               KARAF_VERSION=$KARAF_VERSION
261
262     publishers:
263       - lf-infra-publish
264       - email-notification:
265           email-recipients: '{email-recipients}'
266           email-prefix: '[$GERRIT_PROJECT]'
267
268
269 - job-template:
270     name: 'integration-multipatch-test-{stream}'
271     # Goal: Build one or more patches and run all available system test on a distribution containing the change.
272     # Operation: This job template checks out and builds in order each patch provided in job parameters, finally
273     # it creates a distribution containing all patches and triggers the distribution test job which includes most
274     # (if not all) available CSIT jobs.
275
276     project-type: freestyle
277     node: centos7-builder-8c-8g
278     concurrent: true
279     jdk: '{java-version}'
280
281     properties:
282       - opendaylight-infra-properties:
283           build-days-to-keep: '{build-days-to-keep}'
284
285     parameters:
286       - patches-to-build-parameter:
287           patches_to_build: '$PATCHES_TO_BUILD'
288       - build-order-parameter:
289           build-order: '{build-order}'
290       - build-fast-parameter:
291           build-fast: 'false'
292       - run-test-parameter:
293           run-test: 'false'
294       - integration-distribution-branch:
295           branch: '{branch}'
296       - integration-distribution-stream:
297           stream: '{stream}'
298       - distribution-karaf-version:
299           karaf-version: '{karaf-version}'
300       - opendaylight-infra-parameters:
301           os-cloud: '{os-cloud}'
302           project: 'integration/distribution'
303           branch: '{branch}'
304           refspec: 'refs/heads/{branch}'
305           artifacts: '{archive-artifacts}'
306       - lf-infra-maven-parameters:
307           mvn-opts: ''
308           mvn-params: ''
309           mvn-version: mvn35
310           staging-profile-id: ''  # Staging repos do not make sense for this job
311
312     wrappers:
313       - opendaylight-infra-wrappers:
314           build-timeout: '1200'
315
316     triggers:
317       - gerrit:
318           server-name: '{gerrit-server-name}'
319           trigger-on:
320             - comment-added-contains-event:
321                 comment-contains-value: 'multipatch-build'
322           projects:
323             - project-compare-type: ANT
324               project-pattern: '**'
325               branches:
326                 - branch-compare-type: ANT
327                   branch-pattern: '**/{branch}'
328
329     builders:
330       - wipe-org-opendaylight-repo
331       - lf-maven-install:
332           mvn-version: '{mvn-version}'
333       - provide-maven-settings:
334           global-settings-file: 'global-settings'
335           settings-file: 'integration-distribution-settings'
336       - integration-multipatch-builder
337       - integration-upload-distribution:
338           dist-pom: patch_tester/distribution/pom.xml
339       - conditional-step:
340           condition-kind: boolean-expression
341           condition-expression: $RUN_TEST
342           steps:
343             - trigger-builds:
344                 - project: '{csit-list}'
345                   block: true
346                   predefined-parameters: |
347                     BUNDLE_URL=$BUNDLE_URL
348                     KARAF_VERSION=$KARAF_VERSION
349
350     publishers:
351       - lf-infra-publish
352       - email-notification:
353           email-recipients: '{email-recipients}'
354           email-prefix: '[int/dist]'
355
356 - job-template:
357     name: 'integration-distribution-weekly-test-trigger-{stream}'
358
359     project-type: freestyle
360     node: queue-intque-2c-1g
361
362     properties:
363       - opendaylight-infra-properties:
364           build-days-to-keep: '{build-days-to-keep}'
365
366     parameters:
367       - integration-bundle-url:
368           bundle-url: '{bundle-url}'
369       - distribution-karaf-version:
370           karaf-version: '{karaf-version}'
371
372     triggers:
373       - timed: '{schedule-weekly}'
374
375     builders:
376       - trigger-builds:
377           - project: '{csit-weekly-list}'
378             block: true
379             predefined-parameters: |
380               BUNDLE_URL=$BUNDLE_URL
381               KARAF_VERSION=$KARAF_VERSION
382
383     publishers:
384       - email-notification:
385           email-recipients: '{email-recipients}'
386           email-prefix: '[integration]'
387
388 - job-template:
389     name: 'integration-distribution-high-frequency-test-trigger-{stream}'
390
391     project-type: freestyle
392     node: queue-intque-2c-1g
393
394     properties:
395       - opendaylight-infra-properties:
396           build-days-to-keep: '{build-days-to-keep}'
397
398     parameters:
399       - integration-bundle-url:
400           bundle-url: '{bundle-url}'
401       - distribution-karaf-version:
402           karaf-version: '{karaf-version}'
403
404     triggers:
405       - timed: '{schedule-high-frequency}'
406
407     builders:
408       - trigger-builds:
409           - project: '{csit-high-frequency-list}'
410             block: true
411             predefined-parameters: |
412               BUNDLE_URL=$BUNDLE_URL
413               KARAF_VERSION=$KARAF_VERSION
414
415     publishers:
416       - email-notification:
417           email-recipients: '{email-recipients}'
418           email-prefix: '[integration]'
419
420 - job-template:
421     name: 'integration-update-csit-tests-{stream}'
422
423     # This job's purpose is to update csit
424     # tests to run in integration-distribution-test-{stream}
425     # by updating integration files: csit-list-{stream}.inc
426     # These files can be used as !include in int-dist-test-{stream}
427
428     ######################
429     # Default parameters #
430     ######################
431
432     git-url: '$GIT_URL/$PROJECT'
433     submodule-recursive: true
434
435     #####################
436     # Job Configuration #
437     #####################
438
439     project-type: freestyle
440     node: centos7-builder-2c-8g
441
442     properties:
443       - lf-infra-properties:
444           build-days-to-keep: 7
445
446     parameters:
447       - lf-infra-parameters:
448           project: releng/builder  # Hardcode as this job needs to pull releng/builder
449           stream: '{stream}'
450           branch: master  # Hardcode as releng/builder only has master
451           lftools-version: '{lftools-version}'
452       - string:
453           name: CSIT_BLACKLIST
454           default: '{csit-blacklist}'
455           description: Space separated list of jobs strings to blacklist.
456
457     scm:
458       - lf-infra-gerrit-scm:
459           jenkins-ssh-credential: '{jenkins-ssh-credential}'
460           git-url: '{git-url}'
461           refspec: '$GERRIT_REFSPEC'
462           branch: '$GERRIT_BRANCH'
463           submodule-recursive: '{submodule-recursive}'
464           choosing-strategy: default
465
466     wrappers:
467       - lf-infra-wrappers:
468           build-timeout: 10
469           jenkins-ssh-credential: '{jenkins-ssh-credential}'
470
471     triggers:
472       - reverse:
473           jobs: builder-jjb-merge
474
475     builders:
476       - shell: !include-raw-escape: update-csit-tests.sh
477       - shell: |
478           git status
479           git add jjb/integration/*.lst
480       - lf-infra-push-gerrit-patch:
481           project: 'releng/builder'
482           gerrit-user: 'jenkins-$SILO'
483           gerrit-host: 'git.opendaylight.org'
484           gerrit-topic: 'auto-update-csit-jobs-{stream}'
485           gerrit-commit-message: 'Auto Update CSIT Jobs to run for {stream}'
486           reviewers-email: 'jluhrsen@redhat.com'
487
488     publishers:
489       - lf-infra-publish
490
491 - view:
492     name: integration
493     description: 'List of integration jobs'
494     regex: '^integration-.*'
495     <<: *releng_view_common