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 - 'infrautils-verify-{stream}'
10 - 'infrautils-merge-{stream}'
11 - 'infrautils-periodic-{stream}'
12 - 'infrautils-distribution-{stream}'
13 - 'infrautils-distribution-check-{stream}'
14 - 'infrautils-integration-{stream}'
16 - 'infrautils-clm-{stream}'
17 - 'infrautils-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
33 # For the Job templates below replace instances of:
34 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
35 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
36 # MAVEN_GOALS with your maven goals to build
37 # MAVEN_OPTS with your maven options to build
40 name: 'infrautils-verify-{stream}'
42 # Job template for ODL verify jobs
44 # The purpose of this job template is to setup a ODL verify job
47 # stream: release stream (eg. stable-lithium or beryllium)
48 # branch: git branch (eg. stable/lithium or master)
73 refspec: 'refs/heads/{branch}'
77 credentials-id: '{ssh-credentials}'
78 refspec: '$GERRIT_REFSPEC'
79 choosing-strategy: 'gerrit'
82 - opendaylight-infra-wrappers:
83 build-timeout: '{build-timeout}'
86 - gerrit-trigger-patch-submitted:
91 - jacoco-nojava-workaround
92 - provide-maven-settings:
93 global-settings-file: 'odl-global-settings'
94 settings-file: 'infrautils-settings'
96 maven-version: '{mvn33}'
98 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dstream={stream}'
100 - '-Xmx1024m -XX:MaxPermSize=256m'
101 settings: 'infrautils-settings'
103 global-settings: 'odl-global-settings'
104 global-settings-type: cfp
108 artifacts: '**/target/surefire-reports/*-output.txt, '
110 - email-notification:
111 email-prefix: '[infrautils]'
114 maven-version: '{mvn33}'
117 name: 'infrautils-merge-{stream}'
119 # Job template for ODL merge jobs
121 # The purpose of this job template is to setup a ODL merge job
122 # and deploy artifacts to Nexus.
124 # Required Variables:
125 # stream: release stream (eg. stable-lithium or beryllium)
126 # branch: git branch (eg. stable/lithium or master)
135 artifactDaysToKeep: '{build-artifact-days-to-keep}'
136 artifactNumToKeep: '{build-artifact-num-to-keep}'
144 refspec: 'refs/heads/{branch}'
147 - gerrit-trigger-scm:
148 credentials-id: '{ssh-credentials}'
150 choosing-strategy: 'default'
153 - opendaylight-infra-wrappers:
154 build-timeout: '{build-timeout}'
158 - gerrit-trigger-patch-merged:
163 - jacoco-nojava-workaround
164 - provide-maven-settings:
165 global-settings-file: 'odl-global-settings'
166 settings-file: 'infrautils-settings'
169 maven-name: '{mvn33}'
171 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dmerge -Dstream={stream}'
172 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
173 settings: 'infrautils-settings'
175 global-settings: 'odl-global-settings'
176 global-settings-type: cfp
177 post-step-run-condition: UNSTABLE
181 condition-kind: file-exists
182 condition-filename: deploy-site.xml
183 condition-basedir: workspace
185 # The strategy here is intentional to run Maven site:deploy twice
186 # once using regular pom.xml to produce a staged-site which is
187 # then used by deploy-site.xml to push to Nexus. This is a
188 # workaround to Maven Site's default linking code which creates
189 # incorrect URLs for sites due to auto-detection assuming your
190 # project is configured in a certain way which ODL is not.
193 maven-version: '{mvn33}'
195 goals: 'site:deploy -V -B -Dstream={stream}'
198 settings: 'infrautils-settings'
200 global-settings: 'odl-global-settings'
201 global-settings-type: cfp
203 maven-version: '{mvn33}'
205 goals: 'site:deploy -V -B -Dstream={stream}'
208 settings: 'infrautils-settings'
210 global-settings: 'odl-global-settings'
211 global-settings-type: cfp
218 artifacts: '**/target/surefire-reports/*-output.txt, '
219 - email-notification:
220 email-prefix: '[infrautils]'
224 deploy-unstable: false
227 maven-version: '{mvn33}'
230 name: 'infrautils-periodic-{stream}'
233 # Job template for periodic builders
235 # The purpose of this job template is to setup a periodic
238 # Required Variables:
239 # stream: release stream (eg. stable-lithium or beryllium)
240 # branch: git branch (eg. stable/lithium or master)
249 artifactDaysToKeep: '{build-artifact-days-to-keep}'
250 artifactNumToKeep: '{build-artifact-num-to-keep}'
258 credentials-id: '{ssh-credentials}'
263 - opendaylight-infra-wrappers:
264 build-timeout: '{build-timeout}'
270 - jacoco-nojava-workaround
271 - provide-maven-settings:
272 global-settings-file: 'odl-global-settings'
273 settings-file: 'infrautils-settings'
276 maven-name: '{mvn33}'
278 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
279 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
280 settings: 'infrautils-settings'
282 global-settings: 'odl-global-settings'
283 global-settings-type: cfp
289 - email-notification:
290 email-prefix: '[infrautils]'
293 maven-version: '{mvn33}'
296 name: 'infrautils-distribution-{stream}'
298 # Required variables:
299 # stream: release stream (eg. stable-lithium or beryllium)
300 # branch: git branch (eg. stable/lithium or master)
307 daysToKeep: '{build-days-to-keep}'
308 numToKeep: '{build-num-to-keep}'
309 artifactDaysToKeep: '{build-artifact-days-to-keep}'
310 artifactNumToKeep: '{build-artifact-num-to-keep}'
314 project: 'integration/distribution'
318 credentials-id: '{ssh-credentials}'
323 - opendaylight-infra-wrappers:
324 build-timeout: '{build-timeout}'
328 jobs: '{project}-merge-{stream}'
332 - provide-maven-settings:
333 global-settings-file: 'odl-global-settings'
334 settings-file: 'infrautils-settings'
337 maven-name: '{mvn33}'
339 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
340 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
341 settings: 'integration-distribution-settings'
343 global-settings: 'odl-global-settings'
344 global-settings-type: cfp
347 - email-notification:
348 email-prefix: '[{project}]'
352 deploy-unstable: false
354 maven-version: '{mvn33}'
356 # Template: integration-patch-distribution-{stream}
357 # Goal: Build a patch and make sure the distribution can deploy with this change
358 # Operation: This job template builds a patch, creates a distribution containing
359 # the patch, and triggers the distribution deploy test
362 name: 'infrautils-distribution-check-{stream}'
363 disabled: '{obj:disable_distribution_check}'
371 daysToKeep: '{build-days-to-keep}'
372 numToKeep: '{build-num-to-keep}'
373 artifactDaysToKeep: '{build-artifact-days-to-keep}'
374 artifactNumToKeep: '{build-artifact-num-to-keep}'
380 refspec: 'refs/heads/{branch}'
383 - integration-distribution-git-url
386 - integration-gerrit-scm:
387 credentials-id: '{ssh-credentials}'
388 basedir: '$GERRIT_PROJECT'
389 refspec: '$GERRIT_REFSPEC'
391 - integration-distribution-scm:
392 credentials-id: '{ssh-credentials}'
396 - opendaylight-infra-wrappers:
397 build-timeout: '{build-timeout}'
401 server-name: 'OpenDaylight'
403 - patchset-created-event:
404 exclude-drafts: 'true'
405 exclude-trivial-rebase: 'false'
406 exclude-no-code-change: 'true'
407 - draft-published-event
408 - comment-added-contains-event:
409 comment-contains-value: 'test-distribution'
410 - comment-added-contains-event:
411 comment-contains-value: 'reverify'
412 - comment-added-contains-event:
413 comment-contains-value: 'recheck'
415 - project-compare-type: 'ANT'
416 project-pattern: '{name}'
418 - branch-compare-type: 'ANT'
419 branch-pattern: '**/{branch}'
428 maven-version: '{mvn33}'
429 pom: '$GERRIT_PROJECT/pom.xml'
430 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}'
432 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
433 settings: 'infrautils-settings'
435 global-settings: 'odl-global-settings'
436 global-settings-type: cfp
439 maven-name: '{mvn33}'
440 root-pom: 'distribution/pom.xml'
441 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
442 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
443 settings: 'infrautils-settings'
445 global-settings: 'odl-global-settings'
446 global-settings-type: cfp
447 ignore-upstream-changes: true
448 post-step-run-condition: 'SUCCESS'
451 - integration-distribution-check
454 - email-notification:
455 email-prefix: '[infrautils]'
460 mkdir -p $WORKSPACE/archives
461 cp karaf*.log $WORKSPACE/archives
462 script-only-if-succeeded: False
463 script-only-if-failed: False
464 mark-unstable-if-failed: True
466 maven-version: '{mvn33}'
469 name: 'infrautils-integration-{stream}'
472 # Job template for ODL integration verify jobs
474 # This is similar to a normal verify job, but it runs
475 # when a project that's a dependency of your project
476 # is successfully built.
478 # Required Variables:
479 # stream: release stream (eg. stable-lithium or beryllium)
480 # branch: git branch (eg. stable/lithium or master)
487 daysToKeep: '{build-days-to-keep}'
488 numToKeep: '{build-num-to-keep}'
489 artifactDaysToKeep: '{build-artifact-days-to-keep}'
490 artifactNumToKeep: '{build-artifact-num-to-keep}'
498 credentials-id: '{ssh-credentials}'
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: 'infrautils-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: 'infrautils-settings'
524 global-settings: 'odl-global-settings'
525 global-settings-type: cfp
531 - email-notification:
532 email-prefix: '[infrautils] [odlparent]'
535 maven-version: '{mvn33}'
538 name: 'infrautils-sonar'
548 artifactDaysToKeep: '1'
549 artifactNumToKeep: '1'
557 credentials-id: '{ssh-credentials}'
562 - opendaylight-infra-wrappers:
563 build-timeout: '{build-timeout}'
567 - gerrit-trigger-patch-sonar:
571 - jacoco-nojava-workaround
572 - provide-maven-settings:
573 global-settings-file: 'odl-global-settings'
574 settings-file: 'infrautils-settings'
577 maven-name: '{mvn33}'
579 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dsonar'
580 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
581 settings: 'infrautils-settings'
583 global-settings: 'odl-global-settings'
584 global-settings-type: cfp
592 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
593 - email-notification:
594 email-prefix: '[infrautils]'
597 maven-version: '{mvn33}'
600 name: 'infrautils-clm-{stream}'
608 daysToKeep: '{build-days-to-keep}'
609 numToKeep: '{build-num-to-keep}'
610 artifactDaysToKeep: '{build-artifact-days-to-keep}'
611 artifactNumToKeep: '{build-artifact-num-to-keep}'
619 credentials-id: '{ssh-credentials}'
624 - opendaylight-infra-wrappers:
625 build-timeout: '{build-timeout}'
631 - provide-maven-settings:
632 global-settings-file: 'odl-global-settings'
633 settings-file: 'infrautils-settings'
636 maven-name: '{mvn33}'
638 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'
639 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
640 settings: 'infrautils-settings'
642 global-settings: 'odl-global-settings'
643 global-settings-type: cfp
646 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
648 application-name: infrautils
651 - email-notification:
652 email-prefix: '[infrautils]'
654 maven-version: '{mvn33}'
657 name: 'infrautils-validate-autorelease-{stream}'
658 disabled: '{obj:disable_autorelease}'
666 daysToKeep: '{build-days-to-keep}'
667 numToKeep: '{build-num-to-keep}'
668 artifactDaysToKeep: '{build-artifact-days-to-keep}'
669 artifactNumToKeep: '{build-artifact-num-to-keep}'
677 refspec: 'refs/heads/{branch}'
678 - autorelease-release-tag:
679 release-tag: 'validate'
680 - autorelease-release-branch:
681 release-branch: '{branch}'
684 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
685 description: "Autorelease clone URL"
690 credentials-id: '{ssh-credentials}'
700 - opendaylight-infra-wrappers:
701 build-timeout: '{build-timeout}'
705 server-name: 'OpenDaylight'
707 - patchset-created-event:
708 exclude-drafts: 'true'
709 exclude-trivial-rebase: 'false'
710 exclude-no-code-change: 'true'
711 - draft-published-event
712 - comment-added-contains-event:
713 comment-contains-value: 'recheck'
714 - comment-added-contains-event:
715 comment-contains-value: 'reverify'
716 - comment-added-contains-event:
717 comment-contains-value: 'revalidate'
719 - project-compare-type: 'ANT'
720 project-pattern: 'infrautils'
722 - branch-compare-type: 'ANT'
723 branch-pattern: '**/{branch}'
729 - jacoco-nojava-workaround
730 - autorelease-checkout-gerrit-patch
731 - autorelease-generate-release-patches
733 maven-version: '{mvn33}'
734 pom: validate-pom.xml
735 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'
738 settings: 'autorelease-settings'
740 global-settings: 'odl-global-settings'
741 global-settings-type: cfp
744 maven-name: '{mvn33}'
746 goals: 'clean validate -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
747 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
748 settings: 'autorelease-settings'
750 global-settings: 'odl-global-settings'
751 global-settings-type: cfp
752 automatic-archiving: false
753 post-step-run-condition: UNSTABLE
756 - autorelease-sys-stats
759 - email-notification:
760 email-prefix: '[autorelease] [infrautils]'
762 maven-version: '{mvn33}'