3 name: distribution-templates
6 name: '{project-name}-distribution-check-{stream}'
10 ######################
12 java-version: openjdk8
19 # Operation: This job template builds a patch, creates a distribution containing
20 # the patch (making sure dependencies are specified),
21 # and performs the distribution deploy test.
24 project-type: freestyle
25 node: 'centos7-builder-8c-8g'
30 - opendaylight-infra-properties:
31 build-days-to-keep: '{build-days-to-keep}'
34 - opendaylight-infra-parameters:
35 os-cloud: '{os-cloud}'
38 refspec: 'refs/heads/{branch}'
39 artifacts: '{archive-artifacts}'
40 - integration-distribution-stream:
42 - integration-distribution-git-url:
44 - distribution-karaf-version:
45 karaf-version: '{karaf-version}'
47 maven-version: '{mvn-version}'
50 - integration-gerrit-scm:
51 basedir: '$GERRIT_PROJECT'
52 refspec: '$GERRIT_REFSPEC'
54 - integration-distribution-scm:
55 branch: '{distribution_branch}'
58 - opendaylight-infra-wrappers:
59 # Distro-check jobs typically run within 10 - 30 minutes
60 # with 45 minutes being the occassional edge case.
61 # enforce a 60 minute limit to ensure stuck jobs get
63 # Double that as Karaf 3+4 may take longer.
67 - gerrit-trigger-patch-submitted:
68 gerrit-server-name: '{gerrit-server-name}'
75 - distribution-check-wipe
77 properties-file: 'allowed_projects.txt'
78 - distribution-check-build-project:
79 pom: '$GERRIT_PROJECT/pom.xml'
80 mvn-opts: '{opendaylight-infra-mvn-opts}'
81 mvn-version: '{mvn-version}'
82 # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
83 - distribution-check-verify-groupid:
84 gerrit-project: '$GERRIT_PROJECT'
85 - distribution-check-download-deps:
86 dist-pom: 'distribution/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-delete-snapshots
91 - distribution-check-configure-remotes
92 - distribution-check-repeat-project-build:
93 pom: '$GERRIT_PROJECT/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-repeat-distro-build:
98 dist-pom: 'distribution/pom.xml'
99 mvn-opts: '{opendaylight-infra-mvn-opts}'
100 mvn-version: '{mvn-version}'
101 # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
102 - integration-set-variables
103 - distribution-check-warn-9191
104 - distribution-check-warn-9192
105 - integration-upload-distribution:
106 dist-pom: distribution/pom.xml
107 - distribution-check-bootup
110 - email-notification:
111 email-recipients: '{email-recipients}'
112 email-prefix: '[{project-name}]'
113 - integration-csit-archive-build
117 name: 'distribution-verify-{type}-{stream}'
119 project-type: freestyle
120 node: centos7-builder-8c-8g
122 jdk: '{java-version}'
125 - opendaylight-infra-properties:
126 build-days-to-keep: '{build-days-to-keep}'
129 - opendaylight-infra-parameters:
130 os-cloud: '{os-cloud}'
133 refspec: 'refs/heads/{branch}'
134 artifacts: '{archive-artifacts}'
137 - gerrit-trigger-scm:
138 refspec: '$GERRIT_REFSPEC'
139 choosing-strategy: 'gerrit'
142 - opendaylight-infra-wrappers:
143 build-timeout: '{build-timeout}'
146 - gerrit-trigger-patch-submitted:
147 gerrit-server-name: '{gerrit-server-name}'
151 forbidden-files: '{forbidden-files}'
154 - wipe-org-opendaylight-repo
155 - provide-maven-settings:
156 global-settings-file: 'global-settings'
157 settings-file: 'integration-settings'
162 clean install dependency:tree -DoutputFile=dependency_tree.txt
165 {opendaylight-infra-mvn-opts}
167 # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
169 - '-Xmx1024m -XX:MaxPermSize=256m'
170 settings: integration-settings
172 global-settings: global-settings
173 global-settings-type: cfp
179 - email-notification:
180 email-recipients: '{email-recipients}'
181 email-prefix: '[{project-name}]'
184 name: 'distribution-merge-{type}-{stream}'
186 # Need to keep jobs that deploy to Nexus at end of build as Maven
187 # projects. Maybe reconsider this once upstream moves deploy to a
188 # separate lifecycle:
189 # https://issues.apache.org/jira/browse/MNG-5666
192 node: 'centos7-builder-8c-8g'
193 jdk: '{java-version}'
196 - opendaylight-infra-properties:
197 build-days-to-keep: '{build-days-to-keep}'
200 - opendaylight-infra-parameters:
201 os-cloud: '{os-cloud}'
204 refspec: 'refs/heads/{branch}'
205 artifacts: '{archive-artifacts}'
206 - distribution-karaf-version:
207 karaf-version: '{karaf-version}'
210 - gerrit-trigger-scm:
212 choosing-strategy: 'default'
215 - opendaylight-infra-wrappers:
216 build-timeout: '{build-timeout}'
219 - gerrit-trigger-patch-merged:
220 gerrit-server-name: '{gerrit-server-name}'
224 forbidden-files: '{forbidden-files}'
226 jobs: '{dependencies}'
229 - wipe-org-opendaylight-repo
230 - jacoco-nojava-workaround
231 - provide-maven-settings:
232 global-settings-file: 'global-settings'
233 settings-file: 'integration-settings'
234 - integration-set-variables
235 - distribute-build-url:
236 path: '$KARAF_ARTIFACT/src/main/assembly'
242 clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B
243 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
245 -Djenkins -Dmerge -Dstream={stream}
247 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
248 settings: integration-settings
250 global-settings: global-settings
251 global-settings-type: cfp
254 - integration-compare-distributions
255 # TODO: the output of the above command is not *friendly* for the reader because the most important info
256 # is listed last. This is fine/best for command line output, but for keeping in a file it would be better
257 # to put the summary at the beginning of the file. Some bash magic can be done here to make that happen.
266 deploy-unstable: false
269 - email-notification:
270 email-recipients: '{email-recipients}'
271 email-prefix: '[{project-name}]'
274 name: 'distribution-check-{type}-{stream}'
276 ######################
277 # Default parameters #
278 ######################
282 #####################
283 # Job Configuration #
284 #####################
286 # Like a {project}-distribution-check, but few steps less as there is no upstream project involved.
289 project-type: freestyle
290 node: 'centos7-builder-8c-8g'
292 jdk: '{java-version}'
295 - opendaylight-infra-properties:
296 build-days-to-keep: '{build-days-to-keep}'
299 - opendaylight-infra-parameters:
300 os-cloud: '{os-cloud}'
303 refspec: 'refs/heads/{branch}'
304 artifacts: '{archive-artifacts}'
305 - integration-distribution-stream:
307 - distribution-karaf-version:
308 karaf-version: '{karaf-version}'
313 - integration-gerrit-scm:
314 basedir: 'distribution'
315 refspec: '$GERRIT_REFSPEC'
319 - opendaylight-infra-wrappers:
320 # Distro-check jobs typically run within 10 - 30 minutes
321 # with 45 minutes being the occassional edge case.
322 # enforce a 60 minute limit to ensure stuck jobs get
324 # Double that as Karaf 3+4 may take longer.
328 - gerrit-trigger-patch-submitted:
329 gerrit-server-name: '{gerrit-server-name}'
333 forbidden-files: '{forbidden-files}'
336 - distribution-check-wipe
338 properties-file: 'allowed_projects.txt'
339 - distribution-check-build-project:
340 pom: 'distribution/pom.xml'
342 {opendaylight-infra-mvn-opts}
344 mvn-version: '{mvn-version}'
345 # '{opendaylight-infra-parallel-mvn-opts}' is bad when there are multiple big features in SFT.
346 - distribution-check-verify-groupid:
347 gerrit-project: 'integration'
348 - distribution-check-delete-snapshots
349 - distribution-check-configure-remotes
350 - distribution-check-repeat-project-build:
351 pom: 'distribution/pom.xml'
353 {opendaylight-infra-mvn-opts}
355 mvn-version: '{mvn-version}'
356 # '{opendaylight-infra-parallel-mvn-opts}' is bad when there are multiple big features in SFT.
357 - integration-set-variables
358 - distribution-check-warn-9191
359 - distribution-check-warn-9192
360 - integration-upload-distribution:
361 dist-pom: distribution/pom.xml
362 - distribution-check-bootup
365 - email-notification:
366 email-recipients: '{email-recipients}'
367 email-prefix: '[{project-name}]'
368 - integration-csit-archive-build
372 name: 'distribution-sanity-{stream}'
373 # Goal: Verify distribution starts with no issues when all features are loaded.
374 # Operation: This job deploys odl-integration-all + list of UM features.
375 # This job works for both managed & self-managed distro.
377 project-type: freestyle
378 node: centos7-builder-4c-4g
382 - opendaylight-infra-properties:
383 build-days-to-keep: '{build-days-to-keep}'
386 - opendaylight-infra-parameters:
387 os-cloud: '{os-cloud}'
390 refspec: 'refs/heads/{branch}'
391 artifacts: '{archive-artifacts}'
392 - integration-distribution-stream:
394 - integration-distribution-branch:
396 - integration-bundle-url:
397 bundle-url: '{bundle-url}'
398 - integration-repo-url:
399 repo-url: '{sm-repos}'
400 - integration-controller-features:
401 controller-features: '{sm-features}'
402 - integration-jdk-version:
404 - distribution-karaf-version:
405 karaf-version: '{karaf-version}'
408 - opendaylight-infra-wrappers:
409 build-timeout: '{build-timeout}'
412 - integration-detect-variables
413 - distribution-check-bootup
416 - email-notification:
417 email-recipients: '{email-recipients}'
418 email-prefix: '[{project-name}]'
419 - integration-csit-archive-build
423 name: 'distribution-csit-managed-{stream}'
424 # Goal: Verify distribution starts with no issues when all features are loaded.
425 # Operation: This job deploys odl-integration-all.
426 # This job works for just managed distro.
428 project-type: freestyle
429 node: centos7-builder-4c-4g
433 - opendaylight-infra-properties:
434 build-days-to-keep: '{build-days-to-keep}'
437 - opendaylight-infra-parameters:
438 os-cloud: '{os-cloud}'
441 refspec: 'refs/heads/{branch}'
442 artifacts: '{archive-artifacts}'
443 - integration-distribution-stream:
445 - integration-distribution-branch:
447 - integration-bundle-url:
448 bundle-url: '{bundle-url}'
449 - integration-jdk-version:
451 - distribution-karaf-version:
452 karaf-version: 'karaf4'
455 - opendaylight-infra-wrappers:
456 build-timeout: '{build-timeout}'
459 - integration-detect-variables
460 - distribution-check-bootup
463 - email-notification:
464 email-recipients: '{email-recipients}'
465 email-prefix: '[{project-name}]'
466 - integration-csit-archive-build