1 # REMOVE THIS LINE IF YOU WANT TO CUSTOMIZE ANYTHING BELOW
2 # Otherwise this file will be automatically overwritten by the template
5 # ODL Releng build templates
9 - 'atrium-verify-{stream}'
10 - 'atrium-merge-{stream}'
11 - 'atrium-periodic-{stream}'
12 - 'atrium-distribution-{stream}'
13 - 'atrium-distribution-check-{stream}'
14 - 'atrium-integration-{stream}'
16 - 'atrium-clm-{stream}'
17 - 'atrium-validate-autorelease-{stream}'
20 # stream: release stream (eg. stable-lithium or beryllium)
21 # branch: git branch (eg. stable/lithium or master)
28 disable_autorelease: True
29 disable_distribution_check: False
33 # For the Job templates below replace instances of:
34 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
35 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
36 # MAVEN_GOALS with your maven goals to build
37 # MAVEN_OPTS with your maven options to build
40 name: 'atrium-verify-{stream}'
42 # Job template for ODL verify jobs
44 # The purpose of this job template is to setup a ODL verify job
47 # stream: release stream (eg. stable-lithium or beryllium)
48 # branch: git branch (eg. stable/lithium or master)
65 daysToKeep: '{build-days-to-keep}'
66 numToKeep: '{build-num-to-keep}'
67 artifactDaysToKeep: '{build-artifact-days-to-keep}'
68 artifactNumToKeep: '{build-artifact-num-to-keep}'
76 refspec: 'refs/heads/{branch}'
80 credentials-id: '{ssh-credentials}'
81 refspec: '$GERRIT_REFSPEC'
82 choosing-strategy: 'gerrit'
86 - ssh-agent-credentials:
91 - gerrit-trigger-patch-submitted:
96 - wipe-org-opendaylight-repo
97 - jacoco-nojava-workaround
98 - provide-maven-settings:
99 global-settings-file: 'odl-global-settings'
100 settings-file: 'atrium-settings'
102 maven-version: '{mvn33}'
104 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dstream={stream}'
106 - '-Xmx1024m -XX:MaxPermSize=256m'
107 settings: 'atrium-settings'
109 global-settings: 'odl-global-settings'
110 global-settings-type: cfp
114 artifacts: '**/target/surefire-reports/*-output.txt, '
116 - email-notification:
117 email-prefix: '[atrium]'
121 name: 'atrium-merge-{stream}'
123 # Job template for ODL merge jobs
125 # The purpose of this job template is to setup a ODL merge job
126 # and deploy artifacts to Nexus.
128 # Required Variables:
129 # stream: release stream (eg. stable-lithium or beryllium)
130 # branch: git branch (eg. stable/lithium or master)
139 artifactDaysToKeep: '{build-artifact-days-to-keep}'
140 artifactNumToKeep: '{build-artifact-num-to-keep}'
148 refspec: 'refs/heads/{branch}'
151 - gerrit-trigger-scm:
152 credentials-id: '{ssh-credentials}'
154 choosing-strategy: 'default'
158 - ssh-agent-credentials:
160 - '{ssh-credentials}'
164 - gerrit-trigger-patch-merged:
169 - wipe-org-opendaylight-repo
170 - jacoco-nojava-workaround
171 - provide-maven-settings:
172 global-settings-file: 'odl-global-settings'
173 settings-file: 'atrium-settings'
176 maven-name: '{mvn33}'
178 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dmerge -Dstream={stream}'
179 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
180 settings: 'atrium-settings'
182 global-settings: 'odl-global-settings'
183 global-settings-type: cfp
184 post-step-run-condition: UNSTABLE
188 condition-kind: file-exists
189 condition-filename: deploy-site.xml
190 condition-basedir: workspace
192 # The strategy here is intentional to run Maven site:deploy twice
193 # once using regular pom.xml to produce a staged-site which is
194 # then used by deploy-site.xml to push to Nexus. This is a
195 # workaround to Maven Site's default linking code which creates
196 # incorrect URLs for sites due to auto-detection assuming your
197 # project is configured in a certain way which ODL is not.
200 maven-version: '{mvn33}'
202 goals: 'site:deploy -V -B -Dstream={stream}'
205 settings: 'atrium-settings'
207 global-settings: 'odl-global-settings'
208 global-settings-type: cfp
210 maven-version: '{mvn33}'
212 goals: 'site:deploy -V -B -Dstream={stream}'
215 settings: 'atrium-settings'
217 global-settings: 'odl-global-settings'
218 global-settings-type: cfp
225 artifacts: '**/target/surefire-reports/*-output.txt, '
226 - email-notification:
227 email-prefix: '[atrium]'
231 deploy-unstable: false
235 name: 'atrium-periodic-{stream}'
238 # Job template for periodic builders
240 # The purpose of this job template is to setup a periodic
243 # Required Variables:
244 # stream: release stream (eg. stable-lithium or beryllium)
245 # branch: git branch (eg. stable/lithium or master)
254 artifactDaysToKeep: '{build-artifact-days-to-keep}'
255 artifactNumToKeep: '{build-artifact-num-to-keep}'
263 credentials-id: '{ssh-credentials}'
269 - ssh-agent-credentials:
271 - '{ssh-credentials}'
277 - wipe-org-opendaylight-repo
278 - jacoco-nojava-workaround
279 - provide-maven-settings:
280 global-settings-file: 'odl-global-settings'
281 settings-file: 'atrium-settings'
284 maven-name: '{mvn33}'
286 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
287 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
288 settings: 'atrium-settings'
290 global-settings: 'odl-global-settings'
291 global-settings-type: cfp
297 - email-notification:
298 email-prefix: '[atrium]'
302 name: 'atrium-distribution-{stream}'
304 # Required variables:
305 # stream: release stream (eg. stable-lithium or beryllium)
306 # branch: git branch (eg. stable/lithium or master)
313 daysToKeep: '{build-days-to-keep}'
314 numToKeep: '{build-num-to-keep}'
315 artifactDaysToKeep: '{build-artifact-days-to-keep}'
316 artifactNumToKeep: '{build-artifact-num-to-keep}'
320 project: 'integration/distribution'
324 credentials-id: '{ssh-credentials}'
330 - ssh-agent-credentials:
332 - '{ssh-credentials}'
336 jobs: '{project}-merge-{stream}'
340 - wipe-org-opendaylight-repo
341 - provide-maven-settings:
342 global-settings-file: 'odl-global-settings'
343 settings-file: 'atrium-settings'
346 maven-name: '{mvn33}'
348 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
349 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
350 settings: 'integration-distribution-settings'
352 global-settings: 'odl-global-settings'
353 global-settings-type: cfp
356 - email-notification:
357 email-prefix: '[{project}]'
361 deploy-unstable: false
363 # Template: integration-patch-distribution-{stream}
364 # Goal: Build a patch and make sure the distribution can deploy with this change
365 # Operation: This job template builds a patch, creates a distribution containing
366 # the patch, and triggers the distribution deploy test
369 name: 'atrium-distribution-check-{stream}'
370 disabled: '{obj:disable_distribution_check}'
378 daysToKeep: '{build-days-to-keep}'
379 numToKeep: '{build-num-to-keep}'
380 artifactDaysToKeep: '{build-artifact-days-to-keep}'
381 artifactNumToKeep: '{build-artifact-num-to-keep}'
387 refspec: 'refs/heads/{branch}'
390 - integration-distribution-git-url
393 - integration-gerrit-scm:
394 credentials-id: '{ssh-credentials}'
395 basedir: '$GERRIT_PROJECT'
396 refspec: '$GERRIT_REFSPEC'
398 - integration-distribution-scm:
399 credentials-id: '{ssh-credentials}'
404 - ssh-agent-credentials:
406 - '{ssh-credentials}'
410 server-name: 'OpenDaylight'
412 - patchset-created-event:
413 exclude-drafts: 'true'
414 exclude-trivial-rebase: 'false'
415 exclude-no-code-change: 'true'
416 - draft-published-event
417 - comment-added-contains-event:
418 comment-contains-value: 'test-distribution'
419 - comment-added-contains-event:
420 comment-contains-value: 'reverify'
421 - comment-added-contains-event:
422 comment-contains-value: 'recheck'
424 - project-compare-type: 'ANT'
425 project-pattern: '{name}'
427 - branch-compare-type: 'ANT'
428 branch-pattern: '**/{branch}'
436 - wipe-org-opendaylight-repo
438 maven-version: '{mvn33}'
439 pom: '$GERRIT_PROJECT/pom.xml'
440 goals: 'clean install -V -B -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true -Dmaven.site.skip=true -DgenerateReports=false -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}'
442 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
443 settings: 'atrium-settings'
445 global-settings: 'odl-global-settings'
446 global-settings-type: cfp
449 maven-name: '{mvn33}'
450 root-pom: 'distribution/pom.xml'
451 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
452 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
453 settings: 'atrium-settings'
455 global-settings: 'odl-global-settings'
456 global-settings-type: cfp
457 ignore-upstream-changes: true
458 post-step-run-condition: 'SUCCESS'
461 - integration-distribution-check
465 artifacts: 'karaf.log'
467 artifacts: 'karaf_console.log'
468 - email-notification:
469 email-prefix: '[atrium]'
472 name: 'atrium-integration-{stream}'
475 # Job template for ODL integration verify jobs
477 # This is similar to a normal verify job, but it runs
478 # when a project that's a dependency of your project
479 # is successfully built.
481 # Required Variables:
482 # stream: release stream (eg. stable-lithium or beryllium)
483 # branch: git branch (eg. stable/lithium or master)
490 daysToKeep: '{build-days-to-keep}'
491 numToKeep: '{build-num-to-keep}'
492 artifactDaysToKeep: '{build-artifact-days-to-keep}'
493 artifactNumToKeep: '{build-artifact-num-to-keep}'
501 credentials-id: '{ssh-credentials}'
507 - ssh-agent-credentials:
509 - '{ssh-credentials}'
513 jobs: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream},mdsal-merge-{stream}'
517 - wipe-org-opendaylight-repo
518 - jacoco-nojava-workaround
519 - provide-maven-settings:
520 global-settings-file: 'odl-global-settings'
521 settings-file: 'atrium-settings'
524 maven-name: '{mvn33}'
526 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
527 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
528 settings: 'atrium-settings'
530 global-settings: 'odl-global-settings'
531 global-settings-type: cfp
537 - email-notification:
538 email-prefix: '[atrium] [odlparent] [yangtools] [controller] [mdsal]'
552 artifactDaysToKeep: '1'
553 artifactNumToKeep: '1'
561 credentials-id: '{ssh-credentials}'
567 - ssh-agent-credentials:
569 - '{ssh-credentials}'
573 - gerrit-trigger-patch-sonar:
577 - wipe-org-opendaylight-repo
578 - jacoco-nojava-workaround
579 - provide-maven-settings:
580 global-settings-file: 'odl-global-settings'
581 settings-file: 'atrium-settings'
584 maven-name: '{mvn33}'
586 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dsonar'
587 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
588 settings: 'atrium-settings'
590 global-settings: 'odl-global-settings'
591 global-settings-type: cfp
599 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
600 - email-notification:
601 email-prefix: '[atrium]'
605 name: 'atrium-clm-{stream}'
613 daysToKeep: '{build-days-to-keep}'
614 numToKeep: '{build-num-to-keep}'
615 artifactDaysToKeep: '{build-artifact-days-to-keep}'
616 artifactNumToKeep: '{build-artifact-num-to-keep}'
624 credentials-id: '{ssh-credentials}'
630 - ssh-agent-credentials:
632 - '{ssh-credentials}'
638 - wipe-org-opendaylight-repo
639 - provide-maven-settings:
640 global-settings-file: 'odl-global-settings'
641 settings-file: 'atrium-settings'
644 maven-name: '{mvn33}'
646 goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -V -B -Djenkins -DskipTests=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
647 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
648 settings: 'atrium-settings'
650 global-settings: 'odl-global-settings'
651 global-settings-type: cfp
654 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
656 application-name: atrium
659 - email-notification:
660 email-prefix: '[atrium]'
663 name: 'atrium-validate-autorelease-{stream}'
664 disabled: '{obj:disable_autorelease}'
672 daysToKeep: '{build-days-to-keep}'
673 numToKeep: '{build-num-to-keep}'
674 artifactDaysToKeep: '{build-artifact-days-to-keep}'
675 artifactNumToKeep: '{build-artifact-num-to-keep}'
683 refspec: 'refs/heads/{branch}'
684 - autorelease-release-tag:
685 release-tag: 'validate'
686 - autorelease-release-branch:
687 release-branch: '{branch}'
690 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
691 description: "Autorelease clone URL"
696 credentials-id: '{ssh-credentials}'
706 - autorelease-build-timeout
707 - ssh-agent-credentials:
709 - '{ssh-credentials}'
713 server-name: 'OpenDaylight'
715 - patchset-created-event:
716 exclude-drafts: 'true'
717 exclude-trivial-rebase: 'false'
718 exclude-no-code-change: 'true'
719 - draft-published-event
720 - comment-added-contains-event:
721 comment-contains-value: 'recheck'
722 - comment-added-contains-event:
723 comment-contains-value: 'reverify'
724 - comment-added-contains-event:
725 comment-contains-value: 'revalidate'
727 - project-compare-type: 'ANT'
728 project-pattern: 'atrium'
730 - branch-compare-type: 'ANT'
731 branch-pattern: '**/{branch}'
737 - wipe-org-opendaylight-repo
738 - jacoco-nojava-workaround
739 - autorelease-checkout-gerrit-patch
740 - autorelease-generate-release-patches
742 maven-version: '{mvn33}'
743 pom: validate-pom.xml
744 goals: 'clean install -V -B -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
747 settings: 'autorelease-settings'
749 global-settings: 'odl-global-settings'
750 global-settings-type: cfp
753 maven-name: '{mvn33}'
755 goals: 'clean validate -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
756 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
757 settings: 'autorelease-settings'
759 global-settings: 'odl-global-settings'
760 global-settings-type: cfp
761 automatic-archiving: false
762 post-step-run-condition: UNSTABLE
765 - autorelease-sys-stats
768 - email-notification:
769 email-prefix: '[autorelease] [atrium]'