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 - 'usc-verify-{stream}'
10 - 'usc-merge-{stream}'
11 - 'usc-periodic-{stream}'
12 - 'usc-distribution-{stream}'
13 - 'usc-distribution-check-{stream}'
14 - 'usc-integration-{stream}'
17 - 'usc-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
39 branch: 'stable/lithium'
44 disable_autorelease: True
45 disable_distribution_check: True
49 # For the Job templates below replace instances of:
50 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
51 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
52 # MAVEN_GOALS with your maven goals to build
53 # MAVEN_OPTS with your maven options to build
56 name: 'usc-verify-{stream}'
58 # Job template for ODL verify jobs
60 # The purpose of this job template is to setup a ODL verify job
63 # stream: release stream (eg. stable-lithium or beryllium)
64 # branch: git branch (eg. stable/lithium or master)
89 refspec: 'refs/heads/{branch}'
93 credentials-id: '{ssh-credentials}'
94 refspec: '$GERRIT_REFSPEC'
95 choosing-strategy: 'gerrit'
98 - opendaylight-infra-wrappers:
99 build-timeout: '{build-timeout}'
102 - gerrit-trigger-patch-submitted:
107 - jacoco-nojava-workaround
108 - provide-maven-settings:
109 global-settings-file: 'odl-global-settings'
110 settings-file: 'usc-settings'
112 maven-version: '{mvn33}'
114 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dstream={stream}'
116 - '-Xmx1024m -XX:MaxPermSize=256m'
117 settings: 'usc-settings'
119 global-settings: 'odl-global-settings'
120 global-settings-type: cfp
124 artifacts: '**/target/surefire-reports/*-output.txt, '
126 - email-notification:
127 email-prefix: '[usc]'
130 maven-version: '{mvn33}'
133 name: 'usc-merge-{stream}'
135 # Job template for ODL merge jobs
137 # The purpose of this job template is to setup a ODL merge job
138 # and deploy artifacts to Nexus.
140 # Required Variables:
141 # stream: release stream (eg. stable-lithium or beryllium)
142 # branch: git branch (eg. stable/lithium or master)
151 artifactDaysToKeep: '{build-artifact-days-to-keep}'
152 artifactNumToKeep: '{build-artifact-num-to-keep}'
160 refspec: 'refs/heads/{branch}'
163 - gerrit-trigger-scm:
164 credentials-id: '{ssh-credentials}'
166 choosing-strategy: 'default'
169 - opendaylight-infra-wrappers:
170 build-timeout: '{build-timeout}'
174 - gerrit-trigger-patch-merged:
179 - jacoco-nojava-workaround
180 - provide-maven-settings:
181 global-settings-file: 'odl-global-settings'
182 settings-file: 'usc-settings'
185 maven-name: '{mvn33}'
187 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dmerge -Dstream={stream}'
188 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
189 settings: 'usc-settings'
191 global-settings: 'odl-global-settings'
192 global-settings-type: cfp
193 post-step-run-condition: UNSTABLE
197 condition-kind: file-exists
198 condition-filename: deploy-site.xml
199 condition-basedir: workspace
201 # The strategy here is intentional to run Maven site:deploy twice
202 # once using regular pom.xml to produce a staged-site which is
203 # then used by deploy-site.xml to push to Nexus. This is a
204 # workaround to Maven Site's default linking code which creates
205 # incorrect URLs for sites due to auto-detection assuming your
206 # project is configured in a certain way which ODL is not.
209 maven-version: '{mvn33}'
211 goals: 'site:deploy -V -B -Dstream={stream}'
214 settings: 'usc-settings'
216 global-settings: 'odl-global-settings'
217 global-settings-type: cfp
219 maven-version: '{mvn33}'
221 goals: 'site:deploy -V -B -Dstream={stream}'
224 settings: 'usc-settings'
226 global-settings: 'odl-global-settings'
227 global-settings-type: cfp
234 artifacts: '**/target/surefire-reports/*-output.txt, '
235 - email-notification:
236 email-prefix: '[usc]'
240 deploy-unstable: false
243 maven-version: '{mvn33}'
246 name: 'usc-periodic-{stream}'
249 # Job template for periodic builders
251 # The purpose of this job template is to setup a periodic
254 # Required Variables:
255 # stream: release stream (eg. stable-lithium or beryllium)
256 # branch: git branch (eg. stable/lithium or master)
265 artifactDaysToKeep: '{build-artifact-days-to-keep}'
266 artifactNumToKeep: '{build-artifact-num-to-keep}'
274 credentials-id: '{ssh-credentials}'
279 - opendaylight-infra-wrappers:
280 build-timeout: '{build-timeout}'
286 - jacoco-nojava-workaround
287 - provide-maven-settings:
288 global-settings-file: 'odl-global-settings'
289 settings-file: 'usc-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: 'usc-settings'
298 global-settings: 'odl-global-settings'
299 global-settings-type: cfp
305 - email-notification:
306 email-prefix: '[usc]'
309 maven-version: '{mvn33}'
312 name: 'usc-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}'
339 - opendaylight-infra-wrappers:
340 build-timeout: '{build-timeout}'
344 jobs: '{project}-merge-{stream}'
348 - provide-maven-settings:
349 global-settings-file: 'odl-global-settings'
350 settings-file: 'usc-settings'
353 maven-name: '{mvn33}'
355 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
356 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
357 settings: 'integration-distribution-settings'
359 global-settings: 'odl-global-settings'
360 global-settings-type: cfp
363 - email-notification:
364 email-prefix: '[{project}]'
368 deploy-unstable: false
370 maven-version: '{mvn33}'
372 # Template: integration-patch-distribution-{stream}
373 # Goal: Build a patch and make sure the distribution can deploy with this change
374 # Operation: This job template builds a patch, creates a distribution containing
375 # the patch, and triggers the distribution deploy test
378 name: 'usc-distribution-check-{stream}'
379 disabled: '{obj:disable_distribution_check}'
387 daysToKeep: '{build-days-to-keep}'
388 numToKeep: '{build-num-to-keep}'
389 artifactDaysToKeep: '{build-artifact-days-to-keep}'
390 artifactNumToKeep: '{build-artifact-num-to-keep}'
396 refspec: 'refs/heads/{branch}'
399 - integration-distribution-git-url
402 - integration-gerrit-scm:
403 credentials-id: '{ssh-credentials}'
404 basedir: '$GERRIT_PROJECT'
405 refspec: '$GERRIT_REFSPEC'
407 - integration-distribution-scm:
408 credentials-id: '{ssh-credentials}'
412 - opendaylight-infra-wrappers:
413 build-timeout: '{build-timeout}'
417 server-name: 'OpenDaylight'
419 - patchset-created-event:
420 exclude-drafts: 'true'
421 exclude-trivial-rebase: 'false'
422 exclude-no-code-change: 'true'
423 - draft-published-event
424 - comment-added-contains-event:
425 comment-contains-value: 'test-distribution'
426 - comment-added-contains-event:
427 comment-contains-value: 'reverify'
428 - comment-added-contains-event:
429 comment-contains-value: 'recheck'
431 - project-compare-type: 'ANT'
432 project-pattern: '{name}'
434 - branch-compare-type: 'ANT'
435 branch-pattern: '**/{branch}'
444 maven-version: '{mvn33}'
445 pom: '$GERRIT_PROJECT/pom.xml'
446 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}'
448 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
449 settings: 'usc-settings'
451 global-settings: 'odl-global-settings'
452 global-settings-type: cfp
455 maven-name: '{mvn33}'
456 root-pom: 'distribution/pom.xml'
457 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
458 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
459 settings: 'usc-settings'
461 global-settings: 'odl-global-settings'
462 global-settings-type: cfp
463 ignore-upstream-changes: true
464 post-step-run-condition: 'SUCCESS'
467 - integration-distribution-check
470 - email-notification:
471 email-prefix: '[usc]'
476 mkdir -p $WORKSPACE/archives
477 cp karaf*.log $WORKSPACE/archives
478 script-only-if-succeeded: False
479 script-only-if-failed: False
480 mark-unstable-if-failed: True
482 maven-version: '{mvn33}'
485 name: 'usc-integration-{stream}'
488 # Job template for ODL integration verify jobs
490 # This is similar to a normal verify job, but it runs
491 # when a project that's a dependency of your project
492 # is successfully built.
494 # Required Variables:
495 # stream: release stream (eg. stable-lithium or beryllium)
496 # branch: git branch (eg. stable/lithium or master)
503 daysToKeep: '{build-days-to-keep}'
504 numToKeep: '{build-num-to-keep}'
505 artifactDaysToKeep: '{build-artifact-days-to-keep}'
506 artifactNumToKeep: '{build-artifact-num-to-keep}'
514 credentials-id: '{ssh-credentials}'
519 - opendaylight-infra-wrappers:
520 build-timeout: '{build-timeout}'
524 jobs: 'controller-merge-{stream},yangtools-merge-{stream},odlparent-merge-{stream}'
528 - jacoco-nojava-workaround
529 - provide-maven-settings:
530 global-settings-file: 'odl-global-settings'
531 settings-file: 'usc-settings'
534 maven-name: '{mvn33}'
536 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
537 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
538 settings: 'usc-settings'
540 global-settings: 'odl-global-settings'
541 global-settings-type: cfp
547 - email-notification:
548 email-prefix: '[usc] [controller] [yangtools] [odlparent]'
551 maven-version: '{mvn33}'
564 artifactDaysToKeep: '1'
565 artifactNumToKeep: '1'
573 credentials-id: '{ssh-credentials}'
578 - opendaylight-infra-wrappers:
579 build-timeout: '{build-timeout}'
583 - gerrit-trigger-patch-sonar:
587 - jacoco-nojava-workaround
588 - provide-maven-settings:
589 global-settings-file: 'odl-global-settings'
590 settings-file: 'usc-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: 'usc-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: '[usc]'
613 maven-version: '{mvn33}'
616 name: 'usc-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}'
640 - opendaylight-infra-wrappers:
641 build-timeout: '{build-timeout}'
647 - provide-maven-settings:
648 global-settings-file: 'odl-global-settings'
649 settings-file: 'usc-settings'
652 maven-name: '{mvn33}'
654 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'
655 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
656 settings: 'usc-settings'
658 global-settings: 'odl-global-settings'
659 global-settings-type: cfp
662 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
664 application-name: usc
667 - email-notification:
668 email-prefix: '[usc]'
670 maven-version: '{mvn33}'
673 name: 'usc-validate-autorelease-{stream}'
674 disabled: '{obj:disable_autorelease}'
682 daysToKeep: '{build-days-to-keep}'
683 numToKeep: '{build-num-to-keep}'
684 artifactDaysToKeep: '{build-artifact-days-to-keep}'
685 artifactNumToKeep: '{build-artifact-num-to-keep}'
693 refspec: 'refs/heads/{branch}'
694 - autorelease-release-tag:
695 release-tag: 'validate'
696 - autorelease-release-branch:
697 release-branch: '{branch}'
700 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
701 description: "Autorelease clone URL"
706 credentials-id: '{ssh-credentials}'
716 - opendaylight-infra-wrappers:
717 build-timeout: '{build-timeout}'
721 server-name: 'OpenDaylight'
723 - patchset-created-event:
724 exclude-drafts: 'true'
725 exclude-trivial-rebase: 'false'
726 exclude-no-code-change: 'true'
727 - draft-published-event
728 - comment-added-contains-event:
729 comment-contains-value: 'recheck'
730 - comment-added-contains-event:
731 comment-contains-value: 'reverify'
732 - comment-added-contains-event:
733 comment-contains-value: 'revalidate'
735 - project-compare-type: 'ANT'
736 project-pattern: 'usc'
738 - branch-compare-type: 'ANT'
739 branch-pattern: '**/{branch}'
745 - jacoco-nojava-workaround
746 - autorelease-checkout-gerrit-patch
747 - autorelease-generate-release-patches
749 maven-version: '{mvn33}'
750 pom: validate-pom.xml
751 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'
754 settings: 'autorelease-settings'
756 global-settings: 'odl-global-settings'
757 global-settings-type: cfp
760 maven-name: '{mvn33}'
762 goals: 'clean validate -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
763 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
764 settings: 'autorelease-settings'
766 global-settings: 'odl-global-settings'
767 global-settings-type: cfp
768 automatic-archiving: false
769 post-step-run-condition: UNSTABLE
772 - autorelease-sys-stats
775 - email-notification:
776 email-prefix: '[autorelease] [usc]'
778 maven-version: '{mvn33}'