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