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 - 'topoprocessing-verify-{stream}'
10 - 'topoprocessing-merge-{stream}'
11 - 'topoprocessing-periodic-{stream}'
12 - 'topoprocessing-distribution-{stream}'
13 - 'topoprocessing-distribution-check-{stream}'
14 - 'topoprocessing-integration-{stream}'
15 - 'topoprocessing-sonar'
16 - 'topoprocessing-clm-{stream}'
17 - 'topoprocessing-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
47 project: 'topoprocessing'
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: 'topoprocessing-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'
99 - ssh-agent-credentials:
101 - '{ssh-credentials}'
104 - gerrit-trigger-patch-submitted:
105 name: 'topoprocessing'
109 - jacoco-nojava-workaround
110 - provide-maven-settings:
111 global-settings-file: 'odl-global-settings'
112 settings-file: 'topoprocessing-settings'
114 maven-version: '{mvn33}'
116 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dstream={stream}'
118 - '-Xmx1024m -XX:MaxPermSize=256m'
119 settings: 'topoprocessing-settings'
121 global-settings: 'odl-global-settings'
122 global-settings-type: cfp
126 artifacts: '**/target/surefire-reports/*-output.txt, '
128 - email-notification:
129 email-prefix: '[topoprocessing]'
132 maven-version: '{mvn33}'
135 name: 'topoprocessing-merge-{stream}'
137 # Job template for ODL merge jobs
139 # The purpose of this job template is to setup a ODL merge job
140 # and deploy artifacts to Nexus.
142 # Required Variables:
143 # stream: release stream (eg. stable-lithium or beryllium)
144 # branch: git branch (eg. stable/lithium or master)
153 artifactDaysToKeep: '{build-artifact-days-to-keep}'
154 artifactNumToKeep: '{build-artifact-num-to-keep}'
162 refspec: 'refs/heads/{branch}'
165 - gerrit-trigger-scm:
166 credentials-id: '{ssh-credentials}'
168 choosing-strategy: 'default'
172 - ssh-agent-credentials:
174 - '{ssh-credentials}'
180 - gerrit-trigger-patch-merged:
181 name: 'topoprocessing'
185 - jacoco-nojava-workaround
186 - provide-maven-settings:
187 global-settings-file: 'odl-global-settings'
188 settings-file: 'topoprocessing-settings'
191 maven-name: '{mvn33}'
193 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dmerge -Dstream={stream}'
194 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
195 settings: 'topoprocessing-settings'
197 global-settings: 'odl-global-settings'
198 global-settings-type: cfp
199 post-step-run-condition: UNSTABLE
203 condition-kind: file-exists
204 condition-filename: deploy-site.xml
205 condition-basedir: workspace
207 # The strategy here is intentional to run Maven site:deploy twice
208 # once using regular pom.xml to produce a staged-site which is
209 # then used by deploy-site.xml to push to Nexus. This is a
210 # workaround to Maven Site's default linking code which creates
211 # incorrect URLs for sites due to auto-detection assuming your
212 # project is configured in a certain way which ODL is not.
215 maven-version: '{mvn33}'
217 goals: 'site:deploy -V -B -Dstream={stream}'
220 settings: 'topoprocessing-settings'
222 global-settings: 'odl-global-settings'
223 global-settings-type: cfp
225 maven-version: '{mvn33}'
227 goals: 'site:deploy -V -B -Dstream={stream}'
230 settings: 'topoprocessing-settings'
232 global-settings: 'odl-global-settings'
233 global-settings-type: cfp
240 artifacts: '**/target/surefire-reports/*-output.txt, '
241 - email-notification:
242 email-prefix: '[topoprocessing]'
246 deploy-unstable: false
249 maven-version: '{mvn33}'
252 name: 'topoprocessing-periodic-{stream}'
255 # Job template for periodic builders
257 # The purpose of this job template is to setup a periodic
260 # Required Variables:
261 # stream: release stream (eg. stable-lithium or beryllium)
262 # branch: git branch (eg. stable/lithium or master)
271 artifactDaysToKeep: '{build-artifact-days-to-keep}'
272 artifactNumToKeep: '{build-artifact-num-to-keep}'
280 credentials-id: '{ssh-credentials}'
286 - ssh-agent-credentials:
288 - '{ssh-credentials}'
296 - jacoco-nojava-workaround
297 - provide-maven-settings:
298 global-settings-file: 'odl-global-settings'
299 settings-file: 'topoprocessing-settings'
302 maven-name: '{mvn33}'
304 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
305 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
306 settings: 'topoprocessing-settings'
308 global-settings: 'odl-global-settings'
309 global-settings-type: cfp
315 - email-notification:
316 email-prefix: '[topoprocessing]'
319 maven-version: '{mvn33}'
322 name: 'topoprocessing-distribution-{stream}'
324 # Required variables:
325 # stream: release stream (eg. stable-lithium or beryllium)
326 # branch: git branch (eg. stable/lithium or master)
333 daysToKeep: '{build-days-to-keep}'
334 numToKeep: '{build-num-to-keep}'
335 artifactDaysToKeep: '{build-artifact-days-to-keep}'
336 artifactNumToKeep: '{build-artifact-num-to-keep}'
340 project: 'integration/distribution'
344 credentials-id: '{ssh-credentials}'
350 - ssh-agent-credentials:
352 - '{ssh-credentials}'
358 jobs: '{project}-merge-{stream}'
362 - provide-maven-settings:
363 global-settings-file: 'odl-global-settings'
364 settings-file: 'topoprocessing-settings'
367 maven-name: '{mvn33}'
369 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
370 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
371 settings: 'integration-distribution-settings'
373 global-settings: 'odl-global-settings'
374 global-settings-type: cfp
377 - email-notification:
378 email-prefix: '[{project}]'
382 deploy-unstable: false
384 maven-version: '{mvn33}'
386 # Template: integration-patch-distribution-{stream}
387 # Goal: Build a patch and make sure the distribution can deploy with this change
388 # Operation: This job template builds a patch, creates a distribution containing
389 # the patch, and triggers the distribution deploy test
392 name: 'topoprocessing-distribution-check-{stream}'
393 disabled: '{obj:disable_distribution_check}'
401 daysToKeep: '{build-days-to-keep}'
402 numToKeep: '{build-num-to-keep}'
403 artifactDaysToKeep: '{build-artifact-days-to-keep}'
404 artifactNumToKeep: '{build-artifact-num-to-keep}'
410 refspec: 'refs/heads/{branch}'
413 - integration-distribution-git-url
416 - integration-gerrit-scm:
417 credentials-id: '{ssh-credentials}'
418 basedir: '$GERRIT_PROJECT'
419 refspec: '$GERRIT_REFSPEC'
421 - integration-distribution-scm:
422 credentials-id: '{ssh-credentials}'
427 - ssh-agent-credentials:
429 - '{ssh-credentials}'
435 server-name: 'OpenDaylight'
437 - patchset-created-event:
438 exclude-drafts: 'true'
439 exclude-trivial-rebase: 'false'
440 exclude-no-code-change: 'true'
441 - draft-published-event
442 - comment-added-contains-event:
443 comment-contains-value: 'test-distribution'
444 - comment-added-contains-event:
445 comment-contains-value: 'reverify'
446 - comment-added-contains-event:
447 comment-contains-value: 'recheck'
449 - project-compare-type: 'ANT'
450 project-pattern: '{name}'
452 - branch-compare-type: 'ANT'
453 branch-pattern: '**/{branch}'
462 maven-version: '{mvn33}'
463 pom: '$GERRIT_PROJECT/pom.xml'
464 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}'
466 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
467 settings: 'topoprocessing-settings'
469 global-settings: 'odl-global-settings'
470 global-settings-type: cfp
473 maven-name: '{mvn33}'
474 root-pom: 'distribution/pom.xml'
475 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
476 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
477 settings: 'topoprocessing-settings'
479 global-settings: 'odl-global-settings'
480 global-settings-type: cfp
481 ignore-upstream-changes: true
482 post-step-run-condition: 'SUCCESS'
485 - integration-distribution-check
489 artifacts: 'karaf.log'
491 artifacts: 'karaf_console.log'
492 - email-notification:
493 email-prefix: '[topoprocessing]'
495 maven-version: '{mvn33}'
498 name: 'topoprocessing-integration-{stream}'
501 # Job template for ODL integration verify jobs
503 # This is similar to a normal verify job, but it runs
504 # when a project that's a dependency of your project
505 # is successfully built.
507 # Required Variables:
508 # stream: release stream (eg. stable-lithium or beryllium)
509 # branch: git branch (eg. stable/lithium or master)
516 daysToKeep: '{build-days-to-keep}'
517 numToKeep: '{build-num-to-keep}'
518 artifactDaysToKeep: '{build-artifact-days-to-keep}'
519 artifactNumToKeep: '{build-artifact-num-to-keep}'
527 credentials-id: '{ssh-credentials}'
533 - ssh-agent-credentials:
535 - '{ssh-credentials}'
541 jobs: 'odlparent-merge-{stream},controller-merge-{stream},yangtools-merge-{stream}'
545 - jacoco-nojava-workaround
546 - provide-maven-settings:
547 global-settings-file: 'odl-global-settings'
548 settings-file: 'topoprocessing-settings'
551 maven-name: '{mvn33}'
553 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
554 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
555 settings: 'topoprocessing-settings'
557 global-settings: 'odl-global-settings'
558 global-settings-type: cfp
564 - email-notification:
565 email-prefix: '[topoprocessing] [odlparent] [controller] [yangtools]'
568 maven-version: '{mvn33}'
571 name: 'topoprocessing-sonar'
581 artifactDaysToKeep: '1'
582 artifactNumToKeep: '1'
590 credentials-id: '{ssh-credentials}'
596 - ssh-agent-credentials:
598 - '{ssh-credentials}'
604 - gerrit-trigger-patch-sonar:
605 name: 'topoprocessing'
608 - jacoco-nojava-workaround
609 - provide-maven-settings:
610 global-settings-file: 'odl-global-settings'
611 settings-file: 'topoprocessing-settings'
614 maven-name: '{mvn33}'
616 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dsonar'
617 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
618 settings: 'topoprocessing-settings'
620 global-settings: 'odl-global-settings'
621 global-settings-type: cfp
629 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
630 - email-notification:
631 email-prefix: '[topoprocessing]'
634 maven-version: '{mvn33}'
637 name: 'topoprocessing-clm-{stream}'
645 daysToKeep: '{build-days-to-keep}'
646 numToKeep: '{build-num-to-keep}'
647 artifactDaysToKeep: '{build-artifact-days-to-keep}'
648 artifactNumToKeep: '{build-artifact-num-to-keep}'
656 credentials-id: '{ssh-credentials}'
662 - ssh-agent-credentials:
664 - '{ssh-credentials}'
672 - provide-maven-settings:
673 global-settings-file: 'odl-global-settings'
674 settings-file: 'topoprocessing-settings'
677 maven-name: '{mvn33}'
679 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'
680 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
681 settings: 'topoprocessing-settings'
683 global-settings: 'odl-global-settings'
684 global-settings-type: cfp
687 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
689 application-name: topoprocessing
692 - email-notification:
693 email-prefix: '[topoprocessing]'
695 maven-version: '{mvn33}'
698 name: 'topoprocessing-validate-autorelease-{stream}'
699 disabled: '{obj:disable_autorelease}'
707 daysToKeep: '{build-days-to-keep}'
708 numToKeep: '{build-num-to-keep}'
709 artifactDaysToKeep: '{build-artifact-days-to-keep}'
710 artifactNumToKeep: '{build-artifact-num-to-keep}'
718 refspec: 'refs/heads/{branch}'
719 - autorelease-release-tag:
720 release-tag: 'validate'
721 - autorelease-release-branch:
722 release-branch: '{branch}'
725 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
726 description: "Autorelease clone URL"
731 credentials-id: '{ssh-credentials}'
741 - autorelease-build-timeout
742 - ssh-agent-credentials:
744 - '{ssh-credentials}'
750 server-name: 'OpenDaylight'
752 - patchset-created-event:
753 exclude-drafts: 'true'
754 exclude-trivial-rebase: 'false'
755 exclude-no-code-change: 'true'
756 - draft-published-event
757 - comment-added-contains-event:
758 comment-contains-value: 'recheck'
759 - comment-added-contains-event:
760 comment-contains-value: 'reverify'
761 - comment-added-contains-event:
762 comment-contains-value: 'revalidate'
764 - project-compare-type: 'ANT'
765 project-pattern: 'topoprocessing'
767 - branch-compare-type: 'ANT'
768 branch-pattern: '**/{branch}'
774 - jacoco-nojava-workaround
775 - autorelease-checkout-gerrit-patch
776 - autorelease-generate-release-patches
778 maven-version: '{mvn33}'
779 pom: validate-pom.xml
780 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'
783 settings: 'autorelease-settings'
785 global-settings: 'odl-global-settings'
786 global-settings-type: cfp
789 maven-name: '{mvn33}'
791 goals: 'clean validate -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
792 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
793 settings: 'autorelease-settings'
795 global-settings: 'odl-global-settings'
796 global-settings-type: cfp
797 automatic-archiving: false
798 post-step-run-condition: UNSTABLE
801 - autorelease-sys-stats
804 - email-notification:
805 email-prefix: '[autorelease] [topoprocessing]'
807 maven-version: '{mvn33}'