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 - 'discovery-verify-{stream}'
10 - 'discovery-merge-{stream}'
11 - 'discovery-periodic-{stream}'
12 - 'discovery-distribution-{stream}'
13 - 'discovery-distribution-check-{stream}'
14 - 'discovery-integration-{stream}'
16 - 'discovery-clm-{stream}'
17 - 'discovery-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
31 branch: 'stable/beryllium'
35 disable_autorelease: True
36 disable_distribution_check: False
40 # For the Job templates below replace instances of:
41 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
42 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
43 # MAVEN_GOALS with your maven goals to build
44 # MAVEN_OPTS with your maven options to build
47 name: 'discovery-verify-{stream}'
49 # Job template for ODL verify jobs
51 # The purpose of this job template is to setup a ODL verify job
54 # stream: release stream (eg. stable-lithium or beryllium)
55 # branch: git branch (eg. stable/lithium or master)
80 refspec: 'refs/heads/{branch}'
84 credentials-id: '{ssh-credentials}'
85 refspec: '$GERRIT_REFSPEC'
86 choosing-strategy: 'gerrit'
89 - opendaylight-infra-wrappers:
90 build-timeout: '{build-timeout}'
93 - gerrit-trigger-patch-submitted:
98 - jacoco-nojava-workaround
99 - provide-maven-settings:
100 global-settings-file: 'odl-global-settings'
101 settings-file: 'discovery-settings'
103 maven-version: '{mvn33}'
105 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dstream={stream}'
107 - '-Xmx1024m -XX:MaxPermSize=256m'
108 settings: 'discovery-settings'
110 global-settings: 'odl-global-settings'
111 global-settings-type: cfp
115 artifacts: '**/target/surefire-reports/*-output.txt, '
117 - email-notification:
118 email-prefix: '[discovery]'
121 maven-version: '{mvn33}'
124 name: 'discovery-merge-{stream}'
126 # Job template for ODL merge jobs
128 # The purpose of this job template is to setup a ODL merge job
129 # and deploy artifacts to Nexus.
131 # Required Variables:
132 # stream: release stream (eg. stable-lithium or beryllium)
133 # branch: git branch (eg. stable/lithium or master)
142 artifactDaysToKeep: '{build-artifact-days-to-keep}'
143 artifactNumToKeep: '{build-artifact-num-to-keep}'
151 refspec: 'refs/heads/{branch}'
154 - gerrit-trigger-scm:
155 credentials-id: '{ssh-credentials}'
157 choosing-strategy: 'default'
160 - opendaylight-infra-wrappers:
161 build-timeout: '{build-timeout}'
165 - gerrit-trigger-patch-merged:
170 - jacoco-nojava-workaround
171 - provide-maven-settings:
172 global-settings-file: 'odl-global-settings'
173 settings-file: 'discovery-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: 'discovery-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: 'discovery-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: 'discovery-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: '[discovery]'
231 deploy-unstable: false
234 maven-version: '{mvn33}'
237 name: 'discovery-periodic-{stream}'
240 # Job template for periodic builders
242 # The purpose of this job template is to setup a periodic
245 # Required Variables:
246 # stream: release stream (eg. stable-lithium or beryllium)
247 # branch: git branch (eg. stable/lithium or master)
256 artifactDaysToKeep: '{build-artifact-days-to-keep}'
257 artifactNumToKeep: '{build-artifact-num-to-keep}'
265 credentials-id: '{ssh-credentials}'
270 - opendaylight-infra-wrappers:
271 build-timeout: '{build-timeout}'
277 - jacoco-nojava-workaround
278 - provide-maven-settings:
279 global-settings-file: 'odl-global-settings'
280 settings-file: 'discovery-settings'
283 maven-name: '{mvn33}'
285 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
286 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
287 settings: 'discovery-settings'
289 global-settings: 'odl-global-settings'
290 global-settings-type: cfp
296 - email-notification:
297 email-prefix: '[discovery]'
300 maven-version: '{mvn33}'
303 name: 'discovery-distribution-{stream}'
305 # Required variables:
306 # stream: release stream (eg. stable-lithium or beryllium)
307 # branch: git branch (eg. stable/lithium or master)
314 daysToKeep: '{build-days-to-keep}'
315 numToKeep: '{build-num-to-keep}'
316 artifactDaysToKeep: '{build-artifact-days-to-keep}'
317 artifactNumToKeep: '{build-artifact-num-to-keep}'
321 project: 'integration/distribution'
325 credentials-id: '{ssh-credentials}'
330 - opendaylight-infra-wrappers:
331 build-timeout: '{build-timeout}'
335 jobs: '{project}-merge-{stream}'
339 - provide-maven-settings:
340 global-settings-file: 'odl-global-settings'
341 settings-file: 'discovery-settings'
344 maven-name: '{mvn33}'
346 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
347 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
348 settings: 'integration-distribution-settings'
350 global-settings: 'odl-global-settings'
351 global-settings-type: cfp
354 - email-notification:
355 email-prefix: '[{project}]'
359 deploy-unstable: false
361 maven-version: '{mvn33}'
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: 'discovery-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}'
403 - opendaylight-infra-wrappers:
404 build-timeout: '{build-timeout}'
408 server-name: 'OpenDaylight'
410 - patchset-created-event:
411 exclude-drafts: 'true'
412 exclude-trivial-rebase: 'false'
413 exclude-no-code-change: 'true'
414 - draft-published-event
415 - comment-added-contains-event:
416 comment-contains-value: 'test-distribution'
417 - comment-added-contains-event:
418 comment-contains-value: 'reverify'
419 - comment-added-contains-event:
420 comment-contains-value: 'recheck'
422 - project-compare-type: 'ANT'
423 project-pattern: '{name}'
425 - branch-compare-type: 'ANT'
426 branch-pattern: '**/{branch}'
435 maven-version: '{mvn33}'
436 pom: '$GERRIT_PROJECT/pom.xml'
437 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}'
439 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
440 settings: 'discovery-settings'
442 global-settings: 'odl-global-settings'
443 global-settings-type: cfp
446 maven-name: '{mvn33}'
447 root-pom: 'distribution/pom.xml'
448 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
449 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
450 settings: 'discovery-settings'
452 global-settings: 'odl-global-settings'
453 global-settings-type: cfp
454 ignore-upstream-changes: true
455 post-step-run-condition: 'SUCCESS'
458 - integration-distribution-check
461 - email-notification:
462 email-prefix: '[discovery]'
467 mkdir -p $WORKSPACE/archives
468 cp karaf*.log $WORKSPACE/archives
469 script-only-if-succeeded: False
470 script-only-if-failed: False
471 mark-unstable-if-failed: True
473 maven-version: '{mvn33}'
476 name: 'discovery-integration-{stream}'
479 # Job template for ODL integration verify jobs
481 # This is similar to a normal verify job, but it runs
482 # when a project that's a dependency of your project
483 # is successfully built.
485 # Required Variables:
486 # stream: release stream (eg. stable-lithium or beryllium)
487 # branch: git branch (eg. stable/lithium or master)
494 daysToKeep: '{build-days-to-keep}'
495 numToKeep: '{build-num-to-keep}'
496 artifactDaysToKeep: '{build-artifact-days-to-keep}'
497 artifactNumToKeep: '{build-artifact-num-to-keep}'
505 credentials-id: '{ssh-credentials}'
510 - opendaylight-infra-wrappers:
511 build-timeout: '{build-timeout}'
515 jobs: 'odlparent-merge-{stream}'
519 - jacoco-nojava-workaround
520 - provide-maven-settings:
521 global-settings-file: 'odl-global-settings'
522 settings-file: 'discovery-settings'
525 maven-name: '{mvn33}'
527 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
528 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
529 settings: 'discovery-settings'
531 global-settings: 'odl-global-settings'
532 global-settings-type: cfp
538 - email-notification:
539 email-prefix: '[discovery] [odlparent]'
542 maven-version: '{mvn33}'
545 name: 'discovery-sonar'
555 artifactDaysToKeep: '1'
556 artifactNumToKeep: '1'
564 credentials-id: '{ssh-credentials}'
569 - opendaylight-infra-wrappers:
570 build-timeout: '{build-timeout}'
574 - gerrit-trigger-patch-sonar:
578 - jacoco-nojava-workaround
579 - provide-maven-settings:
580 global-settings-file: 'odl-global-settings'
581 settings-file: 'discovery-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: 'discovery-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: '[discovery]'
604 maven-version: '{mvn33}'
607 name: 'discovery-clm-{stream}'
615 daysToKeep: '{build-days-to-keep}'
616 numToKeep: '{build-num-to-keep}'
617 artifactDaysToKeep: '{build-artifact-days-to-keep}'
618 artifactNumToKeep: '{build-artifact-num-to-keep}'
626 credentials-id: '{ssh-credentials}'
631 - opendaylight-infra-wrappers:
632 build-timeout: '{build-timeout}'
638 - provide-maven-settings:
639 global-settings-file: 'odl-global-settings'
640 settings-file: 'discovery-settings'
643 maven-name: '{mvn33}'
645 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'
646 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
647 settings: 'discovery-settings'
649 global-settings: 'odl-global-settings'
650 global-settings-type: cfp
653 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
655 application-name: discovery
658 - email-notification:
659 email-prefix: '[discovery]'
661 maven-version: '{mvn33}'
664 name: 'discovery-validate-autorelease-{stream}'
665 disabled: '{obj:disable_autorelease}'
673 daysToKeep: '{build-days-to-keep}'
674 numToKeep: '{build-num-to-keep}'
675 artifactDaysToKeep: '{build-artifact-days-to-keep}'
676 artifactNumToKeep: '{build-artifact-num-to-keep}'
684 refspec: 'refs/heads/{branch}'
685 - autorelease-release-tag:
686 release-tag: 'validate'
687 - autorelease-release-branch:
688 release-branch: '{branch}'
691 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
692 description: "Autorelease clone URL"
697 credentials-id: '{ssh-credentials}'
707 - opendaylight-infra-wrappers:
708 build-timeout: '{build-timeout}'
712 server-name: 'OpenDaylight'
714 - patchset-created-event:
715 exclude-drafts: 'true'
716 exclude-trivial-rebase: 'false'
717 exclude-no-code-change: 'true'
718 - draft-published-event
719 - comment-added-contains-event:
720 comment-contains-value: 'recheck'
721 - comment-added-contains-event:
722 comment-contains-value: 'reverify'
723 - comment-added-contains-event:
724 comment-contains-value: 'revalidate'
726 - project-compare-type: 'ANT'
727 project-pattern: 'discovery'
729 - branch-compare-type: 'ANT'
730 branch-pattern: '**/{branch}'
736 - jacoco-nojava-workaround
737 - autorelease-checkout-gerrit-patch
738 - autorelease-generate-release-patches
740 maven-version: '{mvn33}'
741 pom: validate-pom.xml
742 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'
745 settings: 'autorelease-settings'
747 global-settings: 'odl-global-settings'
748 global-settings-type: cfp
751 maven-name: '{mvn33}'
753 goals: 'clean validate -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
754 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
755 settings: 'autorelease-settings'
757 global-settings: 'odl-global-settings'
758 global-settings-type: cfp
759 automatic-archiving: false
760 post-step-run-condition: UNSTABLE
763 - autorelease-sys-stats
766 - email-notification:
767 email-prefix: '[autorelease] [discovery]'
769 maven-version: '{mvn33}'