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)
72 daysToKeep: '{build-days-to-keep}'
73 numToKeep: '{build-num-to-keep}'
74 artifactDaysToKeep: '{build-artifact-days-to-keep}'
75 artifactNumToKeep: '{build-artifact-num-to-keep}'
83 refspec: 'refs/heads/{branch}'
87 credentials-id: '{ssh-credentials}'
88 refspec: '$GERRIT_REFSPEC'
89 choosing-strategy: 'gerrit'
93 - ssh-agent-credentials:
98 - gerrit-trigger-patch-submitted:
103 - jacoco-nojava-workaround
104 - provide-maven-settings:
105 global-settings-file: 'odl-global-settings'
106 settings-file: 'discovery-settings'
108 maven-version: '{mvn33}'
110 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dstream={stream}'
112 - '-Xmx1024m -XX:MaxPermSize=256m'
113 settings: 'discovery-settings'
115 global-settings: 'odl-global-settings'
116 global-settings-type: cfp
120 artifacts: '**/target/surefire-reports/*-output.txt, '
122 - email-notification:
123 email-prefix: '[discovery]'
126 maven-version: '{mvn33}'
129 name: 'discovery-merge-{stream}'
131 # Job template for ODL merge jobs
133 # The purpose of this job template is to setup a ODL merge job
134 # and deploy artifacts to Nexus.
136 # Required Variables:
137 # stream: release stream (eg. stable-lithium or beryllium)
138 # branch: git branch (eg. stable/lithium or master)
147 artifactDaysToKeep: '{build-artifact-days-to-keep}'
148 artifactNumToKeep: '{build-artifact-num-to-keep}'
156 refspec: 'refs/heads/{branch}'
159 - gerrit-trigger-scm:
160 credentials-id: '{ssh-credentials}'
162 choosing-strategy: 'default'
166 - ssh-agent-credentials:
168 - '{ssh-credentials}'
172 - gerrit-trigger-patch-merged:
177 - jacoco-nojava-workaround
178 - provide-maven-settings:
179 global-settings-file: 'odl-global-settings'
180 settings-file: 'discovery-settings'
183 maven-name: '{mvn33}'
185 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dmerge -Dstream={stream}'
186 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
187 settings: 'discovery-settings'
189 global-settings: 'odl-global-settings'
190 global-settings-type: cfp
191 post-step-run-condition: UNSTABLE
195 condition-kind: file-exists
196 condition-filename: deploy-site.xml
197 condition-basedir: workspace
199 # The strategy here is intentional to run Maven site:deploy twice
200 # once using regular pom.xml to produce a staged-site which is
201 # then used by deploy-site.xml to push to Nexus. This is a
202 # workaround to Maven Site's default linking code which creates
203 # incorrect URLs for sites due to auto-detection assuming your
204 # project is configured in a certain way which ODL is not.
207 maven-version: '{mvn33}'
209 goals: 'site:deploy -V -B -Dstream={stream}'
212 settings: 'discovery-settings'
214 global-settings: 'odl-global-settings'
215 global-settings-type: cfp
217 maven-version: '{mvn33}'
219 goals: 'site:deploy -V -B -Dstream={stream}'
222 settings: 'discovery-settings'
224 global-settings: 'odl-global-settings'
225 global-settings-type: cfp
232 artifacts: '**/target/surefire-reports/*-output.txt, '
233 - email-notification:
234 email-prefix: '[discovery]'
238 deploy-unstable: false
241 maven-version: '{mvn33}'
244 name: 'discovery-periodic-{stream}'
247 # Job template for periodic builders
249 # The purpose of this job template is to setup a periodic
252 # Required Variables:
253 # stream: release stream (eg. stable-lithium or beryllium)
254 # branch: git branch (eg. stable/lithium or master)
263 artifactDaysToKeep: '{build-artifact-days-to-keep}'
264 artifactNumToKeep: '{build-artifact-num-to-keep}'
272 credentials-id: '{ssh-credentials}'
278 - ssh-agent-credentials:
280 - '{ssh-credentials}'
286 - jacoco-nojava-workaround
287 - provide-maven-settings:
288 global-settings-file: 'odl-global-settings'
289 settings-file: 'discovery-settings'
292 maven-name: '{mvn33}'
294 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
295 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
296 settings: 'discovery-settings'
298 global-settings: 'odl-global-settings'
299 global-settings-type: cfp
305 - email-notification:
306 email-prefix: '[discovery]'
309 maven-version: '{mvn33}'
312 name: 'discovery-distribution-{stream}'
314 # Required variables:
315 # stream: release stream (eg. stable-lithium or beryllium)
316 # branch: git branch (eg. stable/lithium or master)
323 daysToKeep: '{build-days-to-keep}'
324 numToKeep: '{build-num-to-keep}'
325 artifactDaysToKeep: '{build-artifact-days-to-keep}'
326 artifactNumToKeep: '{build-artifact-num-to-keep}'
330 project: 'integration/distribution'
334 credentials-id: '{ssh-credentials}'
340 - ssh-agent-credentials:
342 - '{ssh-credentials}'
346 jobs: '{project}-merge-{stream}'
350 - provide-maven-settings:
351 global-settings-file: 'odl-global-settings'
352 settings-file: 'discovery-settings'
355 maven-name: '{mvn33}'
357 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
358 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
359 settings: 'integration-distribution-settings'
361 global-settings: 'odl-global-settings'
362 global-settings-type: cfp
365 - email-notification:
366 email-prefix: '[{project}]'
370 deploy-unstable: false
372 maven-version: '{mvn33}'
374 # Template: integration-patch-distribution-{stream}
375 # Goal: Build a patch and make sure the distribution can deploy with this change
376 # Operation: This job template builds a patch, creates a distribution containing
377 # the patch, and triggers the distribution deploy test
380 name: 'discovery-distribution-check-{stream}'
381 disabled: '{obj:disable_distribution_check}'
389 daysToKeep: '{build-days-to-keep}'
390 numToKeep: '{build-num-to-keep}'
391 artifactDaysToKeep: '{build-artifact-days-to-keep}'
392 artifactNumToKeep: '{build-artifact-num-to-keep}'
398 refspec: 'refs/heads/{branch}'
401 - integration-distribution-git-url
404 - integration-gerrit-scm:
405 credentials-id: '{ssh-credentials}'
406 basedir: '$GERRIT_PROJECT'
407 refspec: '$GERRIT_REFSPEC'
409 - integration-distribution-scm:
410 credentials-id: '{ssh-credentials}'
415 - ssh-agent-credentials:
417 - '{ssh-credentials}'
421 server-name: 'OpenDaylight'
423 - patchset-created-event:
424 exclude-drafts: 'true'
425 exclude-trivial-rebase: 'false'
426 exclude-no-code-change: 'true'
427 - draft-published-event
428 - comment-added-contains-event:
429 comment-contains-value: 'test-distribution'
430 - comment-added-contains-event:
431 comment-contains-value: 'reverify'
432 - comment-added-contains-event:
433 comment-contains-value: 'recheck'
435 - project-compare-type: 'ANT'
436 project-pattern: '{name}'
438 - branch-compare-type: 'ANT'
439 branch-pattern: '**/{branch}'
448 maven-version: '{mvn33}'
449 pom: '$GERRIT_PROJECT/pom.xml'
450 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}'
452 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
453 settings: 'discovery-settings'
455 global-settings: 'odl-global-settings'
456 global-settings-type: cfp
459 maven-name: '{mvn33}'
460 root-pom: 'distribution/pom.xml'
461 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
462 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
463 settings: 'discovery-settings'
465 global-settings: 'odl-global-settings'
466 global-settings-type: cfp
467 ignore-upstream-changes: true
468 post-step-run-condition: 'SUCCESS'
471 - integration-distribution-check
475 artifacts: 'karaf.log'
477 artifacts: 'karaf_console.log'
478 - email-notification:
479 email-prefix: '[discovery]'
481 maven-version: '{mvn33}'
484 name: 'discovery-integration-{stream}'
487 # Job template for ODL integration verify jobs
489 # This is similar to a normal verify job, but it runs
490 # when a project that's a dependency of your project
491 # is successfully built.
493 # Required Variables:
494 # stream: release stream (eg. stable-lithium or beryllium)
495 # branch: git branch (eg. stable/lithium or master)
502 daysToKeep: '{build-days-to-keep}'
503 numToKeep: '{build-num-to-keep}'
504 artifactDaysToKeep: '{build-artifact-days-to-keep}'
505 artifactNumToKeep: '{build-artifact-num-to-keep}'
513 credentials-id: '{ssh-credentials}'
519 - ssh-agent-credentials:
521 - '{ssh-credentials}'
525 jobs: 'odlparent-merge-{stream}'
529 - jacoco-nojava-workaround
530 - provide-maven-settings:
531 global-settings-file: 'odl-global-settings'
532 settings-file: 'discovery-settings'
535 maven-name: '{mvn33}'
537 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
538 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
539 settings: 'discovery-settings'
541 global-settings: 'odl-global-settings'
542 global-settings-type: cfp
548 - email-notification:
549 email-prefix: '[discovery] [odlparent]'
552 maven-version: '{mvn33}'
555 name: 'discovery-sonar'
565 artifactDaysToKeep: '1'
566 artifactNumToKeep: '1'
574 credentials-id: '{ssh-credentials}'
580 - ssh-agent-credentials:
582 - '{ssh-credentials}'
586 - gerrit-trigger-patch-sonar:
590 - jacoco-nojava-workaround
591 - provide-maven-settings:
592 global-settings-file: 'odl-global-settings'
593 settings-file: 'discovery-settings'
596 maven-name: '{mvn33}'
598 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dsonar'
599 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
600 settings: 'discovery-settings'
602 global-settings: 'odl-global-settings'
603 global-settings-type: cfp
611 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
612 - email-notification:
613 email-prefix: '[discovery]'
616 maven-version: '{mvn33}'
619 name: 'discovery-clm-{stream}'
627 daysToKeep: '{build-days-to-keep}'
628 numToKeep: '{build-num-to-keep}'
629 artifactDaysToKeep: '{build-artifact-days-to-keep}'
630 artifactNumToKeep: '{build-artifact-num-to-keep}'
638 credentials-id: '{ssh-credentials}'
644 - ssh-agent-credentials:
646 - '{ssh-credentials}'
652 - provide-maven-settings:
653 global-settings-file: 'odl-global-settings'
654 settings-file: 'discovery-settings'
657 maven-name: '{mvn33}'
659 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'
660 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
661 settings: 'discovery-settings'
663 global-settings: 'odl-global-settings'
664 global-settings-type: cfp
667 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
669 application-name: discovery
672 - email-notification:
673 email-prefix: '[discovery]'
675 maven-version: '{mvn33}'
678 name: 'discovery-validate-autorelease-{stream}'
679 disabled: '{obj:disable_autorelease}'
687 daysToKeep: '{build-days-to-keep}'
688 numToKeep: '{build-num-to-keep}'
689 artifactDaysToKeep: '{build-artifact-days-to-keep}'
690 artifactNumToKeep: '{build-artifact-num-to-keep}'
698 refspec: 'refs/heads/{branch}'
699 - autorelease-release-tag:
700 release-tag: 'validate'
701 - autorelease-release-branch:
702 release-branch: '{branch}'
705 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
706 description: "Autorelease clone URL"
711 credentials-id: '{ssh-credentials}'
721 - autorelease-build-timeout
722 - ssh-agent-credentials:
724 - '{ssh-credentials}'
728 server-name: 'OpenDaylight'
730 - patchset-created-event:
731 exclude-drafts: 'true'
732 exclude-trivial-rebase: 'false'
733 exclude-no-code-change: 'true'
734 - draft-published-event
735 - comment-added-contains-event:
736 comment-contains-value: 'recheck'
737 - comment-added-contains-event:
738 comment-contains-value: 'reverify'
739 - comment-added-contains-event:
740 comment-contains-value: 'revalidate'
742 - project-compare-type: 'ANT'
743 project-pattern: 'discovery'
745 - branch-compare-type: 'ANT'
746 branch-pattern: '**/{branch}'
752 - jacoco-nojava-workaround
753 - autorelease-checkout-gerrit-patch
754 - autorelease-generate-release-patches
756 maven-version: '{mvn33}'
757 pom: validate-pom.xml
758 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'
761 settings: 'autorelease-settings'
763 global-settings: 'odl-global-settings'
764 global-settings-type: cfp
767 maven-name: '{mvn33}'
769 goals: 'clean validate -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
770 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
771 settings: 'autorelease-settings'
773 global-settings: 'odl-global-settings'
774 global-settings-type: cfp
775 automatic-archiving: false
776 post-step-run-condition: UNSTABLE
779 - autorelease-sys-stats
782 - email-notification:
783 email-prefix: '[autorelease] [discovery]'
785 maven-version: '{mvn33}'