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 - 'toolkit-verify-{stream}'
10 - 'toolkit-merge-{stream}'
11 - 'toolkit-periodic-{stream}'
12 - 'toolkit-distribution-{stream}'
13 - 'toolkit-distribution-check-{stream}'
14 - 'toolkit-integration-{stream}'
16 - 'toolkit-clm-{stream}'
17 - 'toolkit-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: 'toolkit-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'
90 - ssh-agent-credentials:
95 - gerrit-trigger-patch-submitted:
100 - jacoco-nojava-workaround
101 - provide-maven-settings:
102 global-settings-file: 'odl-global-settings'
103 settings-file: 'toolkit-settings'
105 maven-version: '{mvn33}'
107 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dstream={stream}'
109 - '-Xmx1024m -XX:MaxPermSize=256m'
110 settings: 'toolkit-settings'
112 global-settings: 'odl-global-settings'
113 global-settings-type: cfp
117 artifacts: '**/target/surefire-reports/*-output.txt, '
119 - email-notification:
120 email-prefix: '[toolkit]'
123 maven-version: '{mvn33}'
126 name: 'toolkit-merge-{stream}'
128 # Job template for ODL merge jobs
130 # The purpose of this job template is to setup a ODL merge job
131 # and deploy artifacts to Nexus.
133 # Required Variables:
134 # stream: release stream (eg. stable-lithium or beryllium)
135 # branch: git branch (eg. stable/lithium or master)
144 artifactDaysToKeep: '{build-artifact-days-to-keep}'
145 artifactNumToKeep: '{build-artifact-num-to-keep}'
153 refspec: 'refs/heads/{branch}'
156 - gerrit-trigger-scm:
157 credentials-id: '{ssh-credentials}'
159 choosing-strategy: 'default'
163 - ssh-agent-credentials:
165 - '{ssh-credentials}'
169 - gerrit-trigger-patch-merged:
174 - jacoco-nojava-workaround
175 - provide-maven-settings:
176 global-settings-file: 'odl-global-settings'
177 settings-file: 'toolkit-settings'
180 maven-name: '{mvn33}'
182 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dmerge -Dstream={stream}'
183 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
184 settings: 'toolkit-settings'
186 global-settings: 'odl-global-settings'
187 global-settings-type: cfp
188 post-step-run-condition: UNSTABLE
192 condition-kind: file-exists
193 condition-filename: deploy-site.xml
194 condition-basedir: workspace
196 # The strategy here is intentional to run Maven site:deploy twice
197 # once using regular pom.xml to produce a staged-site which is
198 # then used by deploy-site.xml to push to Nexus. This is a
199 # workaround to Maven Site's default linking code which creates
200 # incorrect URLs for sites due to auto-detection assuming your
201 # project is configured in a certain way which ODL is not.
204 maven-version: '{mvn33}'
206 goals: 'site:deploy -V -B -Dstream={stream}'
209 settings: 'toolkit-settings'
211 global-settings: 'odl-global-settings'
212 global-settings-type: cfp
214 maven-version: '{mvn33}'
216 goals: 'site:deploy -V -B -Dstream={stream}'
219 settings: 'toolkit-settings'
221 global-settings: 'odl-global-settings'
222 global-settings-type: cfp
229 artifacts: '**/target/surefire-reports/*-output.txt, '
230 - email-notification:
231 email-prefix: '[toolkit]'
235 deploy-unstable: false
238 maven-version: '{mvn33}'
241 name: 'toolkit-periodic-{stream}'
244 # Job template for periodic builders
246 # The purpose of this job template is to setup a periodic
249 # Required Variables:
250 # stream: release stream (eg. stable-lithium or beryllium)
251 # branch: git branch (eg. stable/lithium or master)
260 artifactDaysToKeep: '{build-artifact-days-to-keep}'
261 artifactNumToKeep: '{build-artifact-num-to-keep}'
269 credentials-id: '{ssh-credentials}'
275 - ssh-agent-credentials:
277 - '{ssh-credentials}'
283 - jacoco-nojava-workaround
284 - provide-maven-settings:
285 global-settings-file: 'odl-global-settings'
286 settings-file: 'toolkit-settings'
289 maven-name: '{mvn33}'
291 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
292 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
293 settings: 'toolkit-settings'
295 global-settings: 'odl-global-settings'
296 global-settings-type: cfp
302 - email-notification:
303 email-prefix: '[toolkit]'
306 maven-version: '{mvn33}'
309 name: 'toolkit-distribution-{stream}'
311 # Required variables:
312 # stream: release stream (eg. stable-lithium or beryllium)
313 # branch: git branch (eg. stable/lithium or master)
320 daysToKeep: '{build-days-to-keep}'
321 numToKeep: '{build-num-to-keep}'
322 artifactDaysToKeep: '{build-artifact-days-to-keep}'
323 artifactNumToKeep: '{build-artifact-num-to-keep}'
327 project: 'integration/distribution'
331 credentials-id: '{ssh-credentials}'
337 - ssh-agent-credentials:
339 - '{ssh-credentials}'
343 jobs: '{project}-merge-{stream}'
347 - provide-maven-settings:
348 global-settings-file: 'odl-global-settings'
349 settings-file: 'toolkit-settings'
352 maven-name: '{mvn33}'
354 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
355 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
356 settings: 'integration-distribution-settings'
358 global-settings: 'odl-global-settings'
359 global-settings-type: cfp
362 - email-notification:
363 email-prefix: '[{project}]'
367 deploy-unstable: false
369 maven-version: '{mvn33}'
371 # Template: integration-patch-distribution-{stream}
372 # Goal: Build a patch and make sure the distribution can deploy with this change
373 # Operation: This job template builds a patch, creates a distribution containing
374 # the patch, and triggers the distribution deploy test
377 name: 'toolkit-distribution-check-{stream}'
378 disabled: '{obj:disable_distribution_check}'
386 daysToKeep: '{build-days-to-keep}'
387 numToKeep: '{build-num-to-keep}'
388 artifactDaysToKeep: '{build-artifact-days-to-keep}'
389 artifactNumToKeep: '{build-artifact-num-to-keep}'
395 refspec: 'refs/heads/{branch}'
398 - integration-distribution-git-url
401 - integration-gerrit-scm:
402 credentials-id: '{ssh-credentials}'
403 basedir: '$GERRIT_PROJECT'
404 refspec: '$GERRIT_REFSPEC'
406 - integration-distribution-scm:
407 credentials-id: '{ssh-credentials}'
412 - ssh-agent-credentials:
414 - '{ssh-credentials}'
418 server-name: 'OpenDaylight'
420 - patchset-created-event:
421 exclude-drafts: 'true'
422 exclude-trivial-rebase: 'false'
423 exclude-no-code-change: 'true'
424 - draft-published-event
425 - comment-added-contains-event:
426 comment-contains-value: 'test-distribution'
427 - comment-added-contains-event:
428 comment-contains-value: 'reverify'
429 - comment-added-contains-event:
430 comment-contains-value: 'recheck'
432 - project-compare-type: 'ANT'
433 project-pattern: '{name}'
435 - branch-compare-type: 'ANT'
436 branch-pattern: '**/{branch}'
445 maven-version: '{mvn33}'
446 pom: '$GERRIT_PROJECT/pom.xml'
447 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}'
449 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
450 settings: 'toolkit-settings'
452 global-settings: 'odl-global-settings'
453 global-settings-type: cfp
456 maven-name: '{mvn33}'
457 root-pom: 'distribution/pom.xml'
458 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
459 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
460 settings: 'toolkit-settings'
462 global-settings: 'odl-global-settings'
463 global-settings-type: cfp
464 ignore-upstream-changes: true
465 post-step-run-condition: 'SUCCESS'
468 - integration-distribution-check
472 artifacts: 'karaf.log'
474 artifacts: 'karaf_console.log'
475 - email-notification:
476 email-prefix: '[toolkit]'
478 maven-version: '{mvn33}'
481 name: 'toolkit-integration-{stream}'
484 # Job template for ODL integration verify jobs
486 # This is similar to a normal verify job, but it runs
487 # when a project that's a dependency of your project
488 # is successfully built.
490 # Required Variables:
491 # stream: release stream (eg. stable-lithium or beryllium)
492 # branch: git branch (eg. stable/lithium or master)
499 daysToKeep: '{build-days-to-keep}'
500 numToKeep: '{build-num-to-keep}'
501 artifactDaysToKeep: '{build-artifact-days-to-keep}'
502 artifactNumToKeep: '{build-artifact-num-to-keep}'
510 credentials-id: '{ssh-credentials}'
516 - ssh-agent-credentials:
518 - '{ssh-credentials}'
522 jobs: 'odlparent-merge-{stream},controller-merge-{stream}'
526 - jacoco-nojava-workaround
527 - provide-maven-settings:
528 global-settings-file: 'odl-global-settings'
529 settings-file: 'toolkit-settings'
532 maven-name: '{mvn33}'
534 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
535 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
536 settings: 'toolkit-settings'
538 global-settings: 'odl-global-settings'
539 global-settings-type: cfp
545 - email-notification:
546 email-prefix: '[toolkit] [odlparent] [controller]'
549 maven-version: '{mvn33}'
552 name: 'toolkit-sonar'
562 artifactDaysToKeep: '1'
563 artifactNumToKeep: '1'
571 credentials-id: '{ssh-credentials}'
577 - ssh-agent-credentials:
579 - '{ssh-credentials}'
583 - gerrit-trigger-patch-sonar:
587 - jacoco-nojava-workaround
588 - provide-maven-settings:
589 global-settings-file: 'odl-global-settings'
590 settings-file: 'toolkit-settings'
593 maven-name: '{mvn33}'
595 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dsonar'
596 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
597 settings: 'toolkit-settings'
599 global-settings: 'odl-global-settings'
600 global-settings-type: cfp
608 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
609 - email-notification:
610 email-prefix: '[toolkit]'
613 maven-version: '{mvn33}'
616 name: 'toolkit-clm-{stream}'
624 daysToKeep: '{build-days-to-keep}'
625 numToKeep: '{build-num-to-keep}'
626 artifactDaysToKeep: '{build-artifact-days-to-keep}'
627 artifactNumToKeep: '{build-artifact-num-to-keep}'
635 credentials-id: '{ssh-credentials}'
641 - ssh-agent-credentials:
643 - '{ssh-credentials}'
649 - provide-maven-settings:
650 global-settings-file: 'odl-global-settings'
651 settings-file: 'toolkit-settings'
654 maven-name: '{mvn33}'
656 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'
657 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
658 settings: 'toolkit-settings'
660 global-settings: 'odl-global-settings'
661 global-settings-type: cfp
664 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
666 application-name: toolkit
669 - email-notification:
670 email-prefix: '[toolkit]'
672 maven-version: '{mvn33}'
675 name: 'toolkit-validate-autorelease-{stream}'
676 disabled: '{obj:disable_autorelease}'
684 daysToKeep: '{build-days-to-keep}'
685 numToKeep: '{build-num-to-keep}'
686 artifactDaysToKeep: '{build-artifact-days-to-keep}'
687 artifactNumToKeep: '{build-artifact-num-to-keep}'
695 refspec: 'refs/heads/{branch}'
696 - autorelease-release-tag:
697 release-tag: 'validate'
698 - autorelease-release-branch:
699 release-branch: '{branch}'
702 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
703 description: "Autorelease clone URL"
708 credentials-id: '{ssh-credentials}'
718 - autorelease-build-timeout
719 - ssh-agent-credentials:
721 - '{ssh-credentials}'
725 server-name: 'OpenDaylight'
727 - patchset-created-event:
728 exclude-drafts: 'true'
729 exclude-trivial-rebase: 'false'
730 exclude-no-code-change: 'true'
731 - draft-published-event
732 - comment-added-contains-event:
733 comment-contains-value: 'recheck'
734 - comment-added-contains-event:
735 comment-contains-value: 'reverify'
736 - comment-added-contains-event:
737 comment-contains-value: 'revalidate'
739 - project-compare-type: 'ANT'
740 project-pattern: 'toolkit'
742 - branch-compare-type: 'ANT'
743 branch-pattern: '**/{branch}'
749 - jacoco-nojava-workaround
750 - autorelease-checkout-gerrit-patch
751 - autorelease-generate-release-patches
753 maven-version: '{mvn33}'
754 pom: validate-pom.xml
755 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'
758 settings: 'autorelease-settings'
760 global-settings: 'odl-global-settings'
761 global-settings-type: cfp
764 maven-name: '{mvn33}'
766 goals: 'clean validate -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
767 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
768 settings: 'autorelease-settings'
770 global-settings: 'odl-global-settings'
771 global-settings-type: cfp
772 automatic-archiving: false
773 post-step-run-condition: UNSTABLE
776 - autorelease-sys-stats
779 - email-notification:
780 email-prefix: '[autorelease] [toolkit]'
782 maven-version: '{mvn33}'