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 refspec: '$GERRIT_REFSPEC'
85 choosing-strategy: 'gerrit'
88 - opendaylight-infra-wrappers:
89 build-timeout: '{build-timeout}'
92 - gerrit-trigger-patch-submitted:
97 - jacoco-nojava-workaround
98 - provide-maven-settings:
99 global-settings-file: 'odl-global-settings'
100 settings-file: 'discovery-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: 'discovery-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: '[discovery]'
120 maven-version: '{mvn33}'
123 name: 'discovery-merge-{stream}'
125 # Job template for ODL merge jobs
127 # The purpose of this job template is to setup a ODL merge job
128 # and deploy artifacts to Nexus.
130 # Required Variables:
131 # stream: release stream (eg. stable-lithium or beryllium)
132 # branch: git branch (eg. stable/lithium or master)
141 artifactDaysToKeep: '{build-artifact-days-to-keep}'
142 artifactNumToKeep: '{build-artifact-num-to-keep}'
150 refspec: 'refs/heads/{branch}'
153 - gerrit-trigger-scm:
155 choosing-strategy: 'default'
158 - opendaylight-infra-wrappers:
159 build-timeout: '{build-timeout}'
163 - gerrit-trigger-patch-merged:
168 - jacoco-nojava-workaround
169 - provide-maven-settings:
170 global-settings-file: 'odl-global-settings'
171 settings-file: 'discovery-settings'
174 maven-name: '{mvn33}'
176 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dmerge -Dstream={stream}'
177 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
178 settings: 'discovery-settings'
180 global-settings: 'odl-global-settings'
181 global-settings-type: cfp
182 post-step-run-condition: UNSTABLE
186 condition-kind: file-exists
187 condition-filename: deploy-site.xml
188 condition-basedir: workspace
190 # The strategy here is intentional to run Maven site:deploy twice
191 # once using regular pom.xml to produce a staged-site which is
192 # then used by deploy-site.xml to push to Nexus. This is a
193 # workaround to Maven Site's default linking code which creates
194 # incorrect URLs for sites due to auto-detection assuming your
195 # project is configured in a certain way which ODL is not.
198 maven-version: '{mvn33}'
200 goals: 'site:deploy -V -B -Dstream={stream}'
203 settings: 'discovery-settings'
205 global-settings: 'odl-global-settings'
206 global-settings-type: cfp
208 maven-version: '{mvn33}'
210 goals: 'site:deploy -V -B -Dstream={stream}'
213 settings: 'discovery-settings'
215 global-settings: 'odl-global-settings'
216 global-settings-type: cfp
223 artifacts: '**/target/surefire-reports/*-output.txt, '
224 - email-notification:
225 email-prefix: '[discovery]'
229 deploy-unstable: false
232 maven-version: '{mvn33}'
235 name: 'discovery-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}'
267 - opendaylight-infra-wrappers:
268 build-timeout: '{build-timeout}'
274 - jacoco-nojava-workaround
275 - provide-maven-settings:
276 global-settings-file: 'odl-global-settings'
277 settings-file: 'discovery-settings'
280 maven-name: '{mvn33}'
282 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
283 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
284 settings: 'discovery-settings'
286 global-settings: 'odl-global-settings'
287 global-settings-type: cfp
293 - email-notification:
294 email-prefix: '[discovery]'
297 maven-version: '{mvn33}'
300 name: 'discovery-distribution-{stream}'
302 # Required variables:
303 # stream: release stream (eg. stable-lithium or beryllium)
304 # branch: git branch (eg. stable/lithium or master)
311 daysToKeep: '{build-days-to-keep}'
312 numToKeep: '{build-num-to-keep}'
313 artifactDaysToKeep: '{build-artifact-days-to-keep}'
314 artifactNumToKeep: '{build-artifact-num-to-keep}'
318 project: 'integration/distribution'
326 - opendaylight-infra-wrappers:
327 build-timeout: '{build-timeout}'
331 jobs: '{project}-merge-{stream}'
335 - provide-maven-settings:
336 global-settings-file: 'odl-global-settings'
337 settings-file: 'discovery-settings'
340 maven-name: '{mvn33}'
342 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
343 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
344 settings: 'integration-distribution-settings'
346 global-settings: 'odl-global-settings'
347 global-settings-type: cfp
350 - email-notification:
351 email-prefix: '[{project}]'
355 deploy-unstable: false
357 maven-version: '{mvn33}'
359 # Template: integration-patch-distribution-{stream}
360 # Goal: Build a patch and make sure the distribution can deploy with this change
361 # Operation: This job template builds a patch, creates a distribution containing
362 # the patch, and triggers the distribution deploy test
365 name: 'discovery-distribution-check-{stream}'
366 disabled: '{obj:disable_distribution_check}'
374 daysToKeep: '{build-days-to-keep}'
375 numToKeep: '{build-num-to-keep}'
376 artifactDaysToKeep: '{build-artifact-days-to-keep}'
377 artifactNumToKeep: '{build-artifact-num-to-keep}'
383 refspec: 'refs/heads/{branch}'
386 - integration-distribution-git-url
389 - integration-gerrit-scm:
390 basedir: '$GERRIT_PROJECT'
391 refspec: '$GERRIT_REFSPEC'
393 - integration-distribution-scm:
397 - opendaylight-infra-wrappers:
398 build-timeout: '{build-timeout}'
402 server-name: 'OpenDaylight'
404 - patchset-created-event:
405 exclude-drafts: 'true'
406 exclude-trivial-rebase: 'false'
407 exclude-no-code-change: 'true'
408 - draft-published-event
409 - comment-added-contains-event:
410 comment-contains-value: 'test-distribution'
411 - comment-added-contains-event:
412 comment-contains-value: 'reverify'
413 - comment-added-contains-event:
414 comment-contains-value: 'recheck'
416 - project-compare-type: 'ANT'
417 project-pattern: '{name}'
419 - branch-compare-type: 'ANT'
420 branch-pattern: '**/{branch}'
429 maven-version: '{mvn33}'
430 pom: '$GERRIT_PROJECT/pom.xml'
431 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}'
433 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
434 settings: 'discovery-settings'
436 global-settings: 'odl-global-settings'
437 global-settings-type: cfp
440 maven-name: '{mvn33}'
441 root-pom: 'distribution/pom.xml'
442 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
443 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
444 settings: 'discovery-settings'
446 global-settings: 'odl-global-settings'
447 global-settings-type: cfp
448 ignore-upstream-changes: true
449 post-step-run-condition: 'SUCCESS'
452 - integration-distribution-check
455 - email-notification:
456 email-prefix: '[discovery]'
461 mkdir -p $WORKSPACE/archives
462 cp karaf*.log $WORKSPACE/archives
463 script-only-if-succeeded: False
464 script-only-if-failed: False
465 mark-unstable-if-failed: True
467 maven-version: '{mvn33}'
470 name: 'discovery-integration-{stream}'
473 # Job template for ODL integration verify jobs
475 # This is similar to a normal verify job, but it runs
476 # when a project that's a dependency of your project
477 # is successfully built.
479 # Required Variables:
480 # stream: release stream (eg. stable-lithium or beryllium)
481 # branch: git branch (eg. stable/lithium or master)
488 daysToKeep: '{build-days-to-keep}'
489 numToKeep: '{build-num-to-keep}'
490 artifactDaysToKeep: '{build-artifact-days-to-keep}'
491 artifactNumToKeep: '{build-artifact-num-to-keep}'
503 - opendaylight-infra-wrappers:
504 build-timeout: '{build-timeout}'
508 jobs: 'odlparent-merge-{stream}'
512 - jacoco-nojava-workaround
513 - provide-maven-settings:
514 global-settings-file: 'odl-global-settings'
515 settings-file: 'discovery-settings'
518 maven-name: '{mvn33}'
520 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
521 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
522 settings: 'discovery-settings'
524 global-settings: 'odl-global-settings'
525 global-settings-type: cfp
531 - email-notification:
532 email-prefix: '[discovery] [odlparent]'
535 maven-version: '{mvn33}'
538 name: 'discovery-sonar'
548 artifactDaysToKeep: '1'
549 artifactNumToKeep: '1'
561 - opendaylight-infra-wrappers:
562 build-timeout: '{build-timeout}'
566 - gerrit-trigger-patch-sonar:
570 - jacoco-nojava-workaround
571 - provide-maven-settings:
572 global-settings-file: 'odl-global-settings'
573 settings-file: 'discovery-settings'
576 maven-name: '{mvn33}'
578 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dsonar'
579 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
580 settings: 'discovery-settings'
582 global-settings: 'odl-global-settings'
583 global-settings-type: cfp
591 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
592 - email-notification:
593 email-prefix: '[discovery]'
596 maven-version: '{mvn33}'
599 name: 'discovery-clm-{stream}'
607 daysToKeep: '{build-days-to-keep}'
608 numToKeep: '{build-num-to-keep}'
609 artifactDaysToKeep: '{build-artifact-days-to-keep}'
610 artifactNumToKeep: '{build-artifact-num-to-keep}'
622 - opendaylight-infra-wrappers:
623 build-timeout: '{build-timeout}'
629 - provide-maven-settings:
630 global-settings-file: 'odl-global-settings'
631 settings-file: 'discovery-settings'
634 maven-name: '{mvn33}'
636 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'
637 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
638 settings: 'discovery-settings'
640 global-settings: 'odl-global-settings'
641 global-settings-type: cfp
644 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
646 application-name: discovery
649 - email-notification:
650 email-prefix: '[discovery]'
652 maven-version: '{mvn33}'
655 name: 'discovery-validate-autorelease-{stream}'
656 disabled: '{obj:disable_autorelease}'
664 daysToKeep: '{build-days-to-keep}'
665 numToKeep: '{build-num-to-keep}'
666 artifactDaysToKeep: '{build-artifact-days-to-keep}'
667 artifactNumToKeep: '{build-artifact-num-to-keep}'
675 refspec: 'refs/heads/{branch}'
676 - autorelease-release-tag:
677 release-tag: 'validate'
678 - autorelease-release-branch:
679 release-branch: '{branch}'
682 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
683 description: "Autorelease clone URL"
688 credentials-id: 'opendaylight-jenkins-ssh'
698 - opendaylight-infra-wrappers:
699 build-timeout: '{build-timeout}'
703 server-name: 'OpenDaylight'
705 - patchset-created-event:
706 exclude-drafts: 'true'
707 exclude-trivial-rebase: 'false'
708 exclude-no-code-change: 'true'
709 - draft-published-event
710 - comment-added-contains-event:
711 comment-contains-value: 'recheck'
712 - comment-added-contains-event:
713 comment-contains-value: 'reverify'
714 - comment-added-contains-event:
715 comment-contains-value: 'revalidate'
717 - project-compare-type: 'ANT'
718 project-pattern: 'discovery'
720 - branch-compare-type: 'ANT'
721 branch-pattern: '**/{branch}'
727 - jacoco-nojava-workaround
728 - autorelease-checkout-gerrit-patch
729 - autorelease-generate-release-patches
731 maven-version: '{mvn33}'
732 pom: validate-pom.xml
733 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'
736 settings: 'autorelease-settings'
738 global-settings: 'odl-global-settings'
739 global-settings-type: cfp
742 maven-name: '{mvn33}'
744 goals: 'clean validate -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
745 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
746 settings: 'autorelease-settings'
748 global-settings: 'odl-global-settings'
749 global-settings-type: cfp
750 automatic-archiving: false
751 post-step-run-condition: UNSTABLE
754 - autorelease-sys-stats
757 - email-notification:
758 email-prefix: '[autorelease] [discovery]'
760 maven-version: '{mvn33}'