3 name: distribution-templates
6 name: '{project-name}-distribution-check-{stream}'
10 ######################
12 java-version: openjdk8
16 # Unless block_on_csit is true, the failure-threshold will be ignored. For project jobs that
17 # want to fail distribution check on csit jobs, they will only need a list of jobs to run
18 # plus the change of block_on_csit to true, and this failure-threshold: 'UNSTABLE' will take
20 failure-threshold: 'UNSTABLE'
26 # Operation: This job template builds a patch, creates a distribution containing
27 # the patch (making sure dependencies are specified),
28 # and performs the distribution deploy test.
31 project-type: freestyle
32 node: 'centos7-builder-8c-8g'
37 - opendaylight-infra-properties:
38 build-days-to-keep: '{build-days-to-keep}'
41 - opendaylight-infra-parameters:
42 os-cloud: '{os-cloud}'
45 refspec: 'refs/heads/{branch}'
46 artifacts: '{archive-artifacts}'
47 - integration-distribution-stream:
49 - integration-distribution-git-url:
51 - distribution-karaf-version:
52 karaf-version: '{karaf-version}'
54 maven-version: '{mvn-version}'
57 - integration-gerrit-scm:
58 basedir: '$GERRIT_PROJECT'
59 refspec: '$GERRIT_REFSPEC'
61 - integration-distribution-scm:
62 branch: '{distribution_branch}'
65 - opendaylight-infra-wrappers:
66 # Distro-check jobs typically run within 10 - 30 minutes
67 # with 45 minutes being the occassional edge case.
68 # enforce a 60 minute limit to ensure stuck jobs get
70 # Double that as Karaf 3+4 may take longer.
74 - gerrit-trigger-patch-submitted:
75 gerrit-server-name: '{gerrit-server-name}'
82 - distribution-check-wipe
84 properties-file: 'allowed_projects.txt'
85 - distribution-check-build-project:
86 pom: '$GERRIT_PROJECT/pom.xml'
87 mvn-opts: '{opendaylight-infra-mvn-opts}'
88 mvn-version: '{mvn-version}'
89 # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
90 - distribution-check-verify-groupid:
91 gerrit-project: '$GERRIT_PROJECT'
92 - distribution-check-download-deps:
93 dist-pom: 'distribution/pom.xml'
94 mvn-opts: '{opendaylight-infra-mvn-opts}'
95 mvn-version: '{mvn-version}'
96 # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
97 - distribution-check-delete-snapshots
98 - distribution-check-configure-remotes
99 - distribution-check-repeat-project-build:
100 pom: '$GERRIT_PROJECT/pom.xml'
101 mvn-opts: '{opendaylight-infra-mvn-opts}'
102 mvn-version: '{mvn-version}'
103 # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
104 - distribution-check-repeat-distro-build:
105 dist-pom: 'distribution/pom.xml'
106 mvn-opts: '{opendaylight-infra-mvn-opts}'
107 mvn-version: '{mvn-version}'
108 # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
109 - integration-set-variables
110 - distribution-check-warn-9191
111 - distribution-check-warn-9192
112 - integration-upload-distribution:
113 dist-pom: distribution/pom.xml
114 - distribution-check-bootup
117 - project: '{csit-gate-list}'
118 block: '{obj:block_on_csit}'
120 failure-threshold: '{failure-threshold}'
121 predefined-parameters: |
122 BUNDLE_URL=$BUNDLE_URL
123 KARAF_VERSION=$KARAF_VERSION
126 - email-notification:
127 email-recipients: '{email-recipients}'
128 email-prefix: '[{project-name}]'
129 - integration-csit-archive-build
133 name: 'distribution-verify-{type}-{stream}'
135 project-type: freestyle
136 node: centos7-builder-8c-8g
138 jdk: '{java-version}'
141 - opendaylight-infra-properties:
142 build-days-to-keep: '{build-days-to-keep}'
145 - opendaylight-infra-parameters:
146 os-cloud: '{os-cloud}'
149 refspec: 'refs/heads/{branch}'
150 artifacts: '{archive-artifacts}'
153 - gerrit-trigger-scm:
154 refspec: '$GERRIT_REFSPEC'
155 choosing-strategy: 'gerrit'
158 - opendaylight-infra-wrappers:
159 build-timeout: '{build-timeout}'
162 - gerrit-trigger-patch-submitted:
163 gerrit-server-name: '{gerrit-server-name}'
167 forbidden-files: '{forbidden-files}'
170 - wipe-org-opendaylight-repo
171 - provide-maven-settings:
172 global-settings-file: 'global-settings'
173 settings-file: 'integration-settings'
178 clean install dependency:tree -DoutputFile=dependency_tree.txt
181 {opendaylight-infra-mvn-opts}
183 # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
185 - '-Xmx1024m -XX:MaxPermSize=256m'
186 settings: integration-settings
188 global-settings: global-settings
189 global-settings-type: cfp
195 - email-notification:
196 email-recipients: '{email-recipients}'
197 email-prefix: '[{project-name}]'
200 name: 'distribution-merge-{type}-{stream}'
202 # Need to keep jobs that deploy to Nexus at end of build as Maven
203 # projects. Maybe reconsider this once upstream moves deploy to a
204 # separate lifecycle:
205 # https://issues.apache.org/jira/browse/MNG-5666
208 node: 'centos7-builder-8c-8g'
209 jdk: '{java-version}'
212 - opendaylight-infra-properties:
213 build-days-to-keep: '{build-days-to-keep}'
216 - opendaylight-infra-parameters:
217 os-cloud: '{os-cloud}'
220 refspec: 'refs/heads/{branch}'
221 artifacts: '{archive-artifacts}'
222 - distribution-karaf-version:
223 karaf-version: '{karaf-version}'
226 - gerrit-trigger-scm:
228 choosing-strategy: 'default'
231 - opendaylight-infra-wrappers:
232 build-timeout: '{build-timeout}'
235 - gerrit-trigger-patch-merged:
236 gerrit-server-name: '{gerrit-server-name}'
240 forbidden-files: '{forbidden-files}'
242 jobs: '{dependencies}'
245 - wipe-org-opendaylight-repo
246 - jacoco-nojava-workaround
247 - provide-maven-settings:
248 global-settings-file: 'global-settings'
249 settings-file: 'integration-settings'
250 - integration-set-variables
251 - distribute-build-url:
252 path: '$KARAF_ARTIFACT/src/main/assembly'
258 clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B
259 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
261 -Djenkins -Dmerge -Dstream={stream}
263 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
264 settings: integration-settings
266 global-settings: global-settings
267 global-settings-type: cfp
270 - integration-compare-distributions
271 # TODO: the output of the above command is not *friendly* for the reader because the most important info
272 # is listed last. This is fine/best for command line output, but for keeping in a file it would be better
273 # to put the summary at the beginning of the file. Some bash magic can be done here to make that happen.
282 deploy-unstable: false
285 - email-notification:
286 email-recipients: '{email-recipients}'
287 email-prefix: '[{project-name}]'
290 name: 'distribution-check-{type}-{stream}'
292 ######################
293 # Default parameters #
294 ######################
298 #####################
299 # Job Configuration #
300 #####################
302 # Like a {project}-distribution-check, but few steps less as there is no upstream project involved.
305 project-type: freestyle
306 node: 'centos7-builder-8c-8g'
308 jdk: '{java-version}'
311 - opendaylight-infra-properties:
312 build-days-to-keep: '{build-days-to-keep}'
315 - opendaylight-infra-parameters:
316 os-cloud: '{os-cloud}'
319 refspec: 'refs/heads/{branch}'
320 artifacts: '{archive-artifacts}'
321 - integration-distribution-stream:
323 - distribution-karaf-version:
324 karaf-version: '{karaf-version}'
329 - integration-gerrit-scm:
330 basedir: 'distribution'
331 refspec: '$GERRIT_REFSPEC'
335 - opendaylight-infra-wrappers:
336 # Distro-check jobs typically run within 10 - 30 minutes
337 # with 45 minutes being the occassional edge case.
338 # enforce a 60 minute limit to ensure stuck jobs get
340 # Double that as Karaf 3+4 may take longer.
344 - gerrit-trigger-patch-submitted:
345 gerrit-server-name: '{gerrit-server-name}'
349 forbidden-files: '{forbidden-files}'
352 - distribution-check-wipe
354 properties-file: 'allowed_projects.txt'
355 - distribution-check-build-project:
356 pom: 'distribution/pom.xml'
358 {opendaylight-infra-mvn-opts}
360 mvn-version: '{mvn-version}'
361 # '{opendaylight-infra-parallel-mvn-opts}' is bad when there are multiple big features in SFT.
362 - distribution-check-verify-groupid:
363 gerrit-project: 'integration'
364 - distribution-check-delete-snapshots
365 - distribution-check-configure-remotes
366 - distribution-check-repeat-project-build:
367 pom: 'distribution/pom.xml'
369 {opendaylight-infra-mvn-opts}
371 mvn-version: '{mvn-version}'
372 # '{opendaylight-infra-parallel-mvn-opts}' is bad when there are multiple big features in SFT.
373 - integration-set-variables
374 - distribution-check-warn-9191
375 - distribution-check-warn-9192
376 - integration-upload-distribution:
377 dist-pom: '{dist-pom}'
378 - distribution-check-bootup
381 - email-notification:
382 email-recipients: '{email-recipients}'
383 email-prefix: '[{project-name}]'
384 - integration-csit-archive-build
388 name: 'distribution-sanity-{stream}'
389 # Goal: Verify distribution starts with no issues when all features are loaded.
390 # Operation: This job deploys odl-integration-all + list of UM features.
391 # This job works for both managed & self-managed distro.
393 project-type: freestyle
394 node: centos7-builder-4c-4g
398 - opendaylight-infra-properties:
399 build-days-to-keep: '{build-days-to-keep}'
402 - opendaylight-infra-parameters:
403 os-cloud: '{os-cloud}'
406 refspec: 'refs/heads/{branch}'
407 artifacts: '{archive-artifacts}'
408 - integration-distribution-stream:
410 - integration-distribution-branch:
412 - integration-bundle-url:
413 bundle-url: '{bundle-url}'
414 - integration-repo-url:
415 repo-url: '{sm-repos}'
416 - integration-controller-features:
417 controller-features: '{sm-features}'
418 - integration-jdk-version:
420 - distribution-karaf-version:
421 karaf-version: '{karaf-version}'
424 - opendaylight-infra-wrappers:
425 build-timeout: '{build-timeout}'
428 - integration-detect-variables
429 - distribution-check-bootup
432 - email-notification:
433 email-recipients: '{email-recipients}'
434 email-prefix: '[{project-name}]'
435 - integration-csit-archive-build
439 name: 'distribution-csit-managed-{stream}'
440 # Goal: Verify distribution starts with no issues when all features are loaded.
441 # Operation: This job deploys odl-integration-all.
442 # This job works for just managed distro.
444 project-type: freestyle
445 node: centos7-builder-4c-4g
449 - opendaylight-infra-properties:
450 build-days-to-keep: '{build-days-to-keep}'
453 - opendaylight-infra-parameters:
454 os-cloud: '{os-cloud}'
457 refspec: 'refs/heads/{branch}'
458 artifacts: '{archive-artifacts}'
459 - integration-distribution-stream:
461 - integration-distribution-branch:
463 - integration-bundle-url:
464 bundle-url: '{bundle-url}'
465 - integration-jdk-version:
467 - distribution-karaf-version:
468 karaf-version: 'karaf4'
471 - opendaylight-infra-wrappers:
472 build-timeout: '{build-timeout}'
475 - integration-detect-variables
476 - distribution-check-bootup
479 - email-notification:
480 email-recipients: '{email-recipients}'
481 email-prefix: '[{project-name}]'
482 - integration-csit-archive-build