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 - 'of-config-verify-{stream}'
10 - 'of-config-merge-{stream}'
11 - 'of-config-periodic-{stream}'
12 - 'of-config-distribution-{stream}'
13 - 'of-config-distribution-check-{stream}'
14 - 'of-config-integration-{stream}'
16 - 'of-config-clm-{stream}'
17 - 'of-config-validate-autorelease-{stream}'
20 # stream: release stream (eg. stable-lithium or beryllium)
21 # branch: git branch (eg. stable/lithium or master)
28 disable_autorelease: False
29 disable_distribution_check: False
31 branch: 'stable/beryllium'
36 disable_autorelease: False
37 disable_distribution_check: False
41 # For the Job templates below replace instances of:
42 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
43 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
44 # MAVEN_GOALS with your maven goals to build
45 # MAVEN_OPTS with your maven options to build
48 name: 'of-config-verify-{stream}'
50 # Job template for ODL verify jobs
52 # The purpose of this job template is to setup a ODL verify job
55 # stream: release stream (eg. stable-lithium or beryllium)
56 # branch: git branch (eg. stable/lithium or master)
81 refspec: 'refs/heads/{branch}'
85 credentials-id: '{ssh-credentials}'
86 refspec: '$GERRIT_REFSPEC'
87 choosing-strategy: 'gerrit'
91 - ssh-agent-credentials:
96 - gerrit-trigger-patch-submitted:
101 - jacoco-nojava-workaround
102 - provide-maven-settings:
103 global-settings-file: 'odl-global-settings'
104 settings-file: 'of-config-settings'
106 maven-version: '{mvn33}'
108 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dstream={stream}'
110 - '-Xmx1024m -XX:MaxPermSize=256m'
111 settings: 'of-config-settings'
113 global-settings: 'odl-global-settings'
114 global-settings-type: cfp
118 artifacts: '**/target/surefire-reports/*-output.txt, '
120 - email-notification:
121 email-prefix: '[of-config]'
124 maven-version: '{mvn33}'
127 name: 'of-config-merge-{stream}'
129 # Job template for ODL merge jobs
131 # The purpose of this job template is to setup a ODL merge job
132 # and deploy artifacts to Nexus.
134 # Required Variables:
135 # stream: release stream (eg. stable-lithium or beryllium)
136 # branch: git branch (eg. stable/lithium or master)
145 artifactDaysToKeep: '{build-artifact-days-to-keep}'
146 artifactNumToKeep: '{build-artifact-num-to-keep}'
154 refspec: 'refs/heads/{branch}'
157 - gerrit-trigger-scm:
158 credentials-id: '{ssh-credentials}'
160 choosing-strategy: 'default'
164 - ssh-agent-credentials:
166 - '{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: 'of-config-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: 'of-config-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: 'of-config-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: 'of-config-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: '[of-config]'
238 deploy-unstable: false
241 maven-version: '{mvn33}'
244 name: 'of-config-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}'
288 - jacoco-nojava-workaround
289 - provide-maven-settings:
290 global-settings-file: 'odl-global-settings'
291 settings-file: 'of-config-settings'
294 maven-name: '{mvn33}'
296 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
297 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
298 settings: 'of-config-settings'
300 global-settings: 'odl-global-settings'
301 global-settings-type: cfp
307 - email-notification:
308 email-prefix: '[of-config]'
311 maven-version: '{mvn33}'
314 name: 'of-config-distribution-{stream}'
316 # Required variables:
317 # stream: release stream (eg. stable-lithium or beryllium)
318 # branch: git branch (eg. stable/lithium or master)
325 daysToKeep: '{build-days-to-keep}'
326 numToKeep: '{build-num-to-keep}'
327 artifactDaysToKeep: '{build-artifact-days-to-keep}'
328 artifactNumToKeep: '{build-artifact-num-to-keep}'
332 project: 'integration/distribution'
336 credentials-id: '{ssh-credentials}'
342 - ssh-agent-credentials:
344 - '{ssh-credentials}'
350 jobs: '{project}-merge-{stream}'
354 - provide-maven-settings:
355 global-settings-file: 'odl-global-settings'
356 settings-file: 'of-config-settings'
359 maven-name: '{mvn33}'
361 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
362 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
363 settings: 'integration-distribution-settings'
365 global-settings: 'odl-global-settings'
366 global-settings-type: cfp
369 - email-notification:
370 email-prefix: '[{project}]'
374 deploy-unstable: false
376 maven-version: '{mvn33}'
378 # Template: integration-patch-distribution-{stream}
379 # Goal: Build a patch and make sure the distribution can deploy with this change
380 # Operation: This job template builds a patch, creates a distribution containing
381 # the patch, and triggers the distribution deploy test
384 name: 'of-config-distribution-check-{stream}'
385 disabled: '{obj:disable_distribution_check}'
393 daysToKeep: '{build-days-to-keep}'
394 numToKeep: '{build-num-to-keep}'
395 artifactDaysToKeep: '{build-artifact-days-to-keep}'
396 artifactNumToKeep: '{build-artifact-num-to-keep}'
402 refspec: 'refs/heads/{branch}'
405 - integration-distribution-git-url
408 - integration-gerrit-scm:
409 credentials-id: '{ssh-credentials}'
410 basedir: '$GERRIT_PROJECT'
411 refspec: '$GERRIT_REFSPEC'
413 - integration-distribution-scm:
414 credentials-id: '{ssh-credentials}'
419 - ssh-agent-credentials:
421 - '{ssh-credentials}'
427 server-name: 'OpenDaylight'
429 - patchset-created-event:
430 exclude-drafts: 'true'
431 exclude-trivial-rebase: 'false'
432 exclude-no-code-change: 'true'
433 - draft-published-event
434 - comment-added-contains-event:
435 comment-contains-value: 'test-distribution'
436 - comment-added-contains-event:
437 comment-contains-value: 'reverify'
438 - comment-added-contains-event:
439 comment-contains-value: 'recheck'
441 - project-compare-type: 'ANT'
442 project-pattern: '{name}'
444 - branch-compare-type: 'ANT'
445 branch-pattern: '**/{branch}'
454 maven-version: '{mvn33}'
455 pom: '$GERRIT_PROJECT/pom.xml'
456 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}'
458 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
459 settings: 'of-config-settings'
461 global-settings: 'odl-global-settings'
462 global-settings-type: cfp
465 maven-name: '{mvn33}'
466 root-pom: 'distribution/pom.xml'
467 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
468 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
469 settings: 'of-config-settings'
471 global-settings: 'odl-global-settings'
472 global-settings-type: cfp
473 ignore-upstream-changes: true
474 post-step-run-condition: 'SUCCESS'
477 - integration-distribution-check
481 artifacts: 'karaf.log'
483 artifacts: 'karaf_console.log'
484 - email-notification:
485 email-prefix: '[of-config]'
487 maven-version: '{mvn33}'
490 name: 'of-config-integration-{stream}'
493 # Job template for ODL integration verify jobs
495 # This is similar to a normal verify job, but it runs
496 # when a project that's a dependency of your project
497 # is successfully built.
499 # Required Variables:
500 # stream: release stream (eg. stable-lithium or beryllium)
501 # branch: git branch (eg. stable/lithium or master)
508 daysToKeep: '{build-days-to-keep}'
509 numToKeep: '{build-num-to-keep}'
510 artifactDaysToKeep: '{build-artifact-days-to-keep}'
511 artifactNumToKeep: '{build-artifact-num-to-keep}'
519 credentials-id: '{ssh-credentials}'
525 - ssh-agent-credentials:
527 - '{ssh-credentials}'
533 jobs: 'controller-merge-{stream},yangtools-merge-{stream},odlparent-merge-{stream},netconf-merge-{stream}'
537 - jacoco-nojava-workaround
538 - provide-maven-settings:
539 global-settings-file: 'odl-global-settings'
540 settings-file: 'of-config-settings'
543 maven-name: '{mvn33}'
545 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
546 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
547 settings: 'of-config-settings'
549 global-settings: 'odl-global-settings'
550 global-settings-type: cfp
556 - email-notification:
557 email-prefix: '[of-config] [controller] [yangtools] [odlparent] [netconf]'
560 maven-version: '{mvn33}'
563 name: 'of-config-sonar'
573 artifactDaysToKeep: '1'
574 artifactNumToKeep: '1'
582 credentials-id: '{ssh-credentials}'
588 - ssh-agent-credentials:
590 - '{ssh-credentials}'
596 - gerrit-trigger-patch-sonar:
600 - jacoco-nojava-workaround
601 - provide-maven-settings:
602 global-settings-file: 'odl-global-settings'
603 settings-file: 'of-config-settings'
606 maven-name: '{mvn33}'
608 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dsonar'
609 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
610 settings: 'of-config-settings'
612 global-settings: 'odl-global-settings'
613 global-settings-type: cfp
621 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
622 - email-notification:
623 email-prefix: '[of-config]'
626 maven-version: '{mvn33}'
629 name: 'of-config-clm-{stream}'
637 daysToKeep: '{build-days-to-keep}'
638 numToKeep: '{build-num-to-keep}'
639 artifactDaysToKeep: '{build-artifact-days-to-keep}'
640 artifactNumToKeep: '{build-artifact-num-to-keep}'
648 credentials-id: '{ssh-credentials}'
654 - ssh-agent-credentials:
656 - '{ssh-credentials}'
664 - provide-maven-settings:
665 global-settings-file: 'odl-global-settings'
666 settings-file: 'of-config-settings'
669 maven-name: '{mvn33}'
671 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'
672 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
673 settings: 'of-config-settings'
675 global-settings: 'odl-global-settings'
676 global-settings-type: cfp
679 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
681 application-name: of-config
684 - email-notification:
685 email-prefix: '[of-config]'
687 maven-version: '{mvn33}'
690 name: 'of-config-validate-autorelease-{stream}'
691 disabled: '{obj:disable_autorelease}'
699 daysToKeep: '{build-days-to-keep}'
700 numToKeep: '{build-num-to-keep}'
701 artifactDaysToKeep: '{build-artifact-days-to-keep}'
702 artifactNumToKeep: '{build-artifact-num-to-keep}'
710 refspec: 'refs/heads/{branch}'
711 - autorelease-release-tag:
712 release-tag: 'validate'
713 - autorelease-release-branch:
714 release-branch: '{branch}'
717 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
718 description: "Autorelease clone URL"
723 credentials-id: '{ssh-credentials}'
733 - autorelease-build-timeout
734 - ssh-agent-credentials:
736 - '{ssh-credentials}'
742 server-name: 'OpenDaylight'
744 - patchset-created-event:
745 exclude-drafts: 'true'
746 exclude-trivial-rebase: 'false'
747 exclude-no-code-change: 'true'
748 - draft-published-event
749 - comment-added-contains-event:
750 comment-contains-value: 'recheck'
751 - comment-added-contains-event:
752 comment-contains-value: 'reverify'
753 - comment-added-contains-event:
754 comment-contains-value: 'revalidate'
756 - project-compare-type: 'ANT'
757 project-pattern: 'of-config'
759 - branch-compare-type: 'ANT'
760 branch-pattern: '**/{branch}'
766 - jacoco-nojava-workaround
767 - autorelease-checkout-gerrit-patch
768 - autorelease-generate-release-patches
770 maven-version: '{mvn33}'
771 pom: validate-pom.xml
772 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'
775 settings: 'autorelease-settings'
777 global-settings: 'odl-global-settings'
778 global-settings-type: cfp
781 maven-name: '{mvn33}'
783 goals: 'clean validate -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
784 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
785 settings: 'autorelease-settings'
787 global-settings: 'odl-global-settings'
788 global-settings-type: cfp
789 automatic-archiving: false
790 post-step-run-condition: UNSTABLE
793 - autorelease-sys-stats
796 - email-notification:
797 email-prefix: '[autorelease] [of-config]'
799 maven-version: '{mvn33}'