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 - 'yangtools-merge-{stream}'
10 - 'yangtools-periodic-{stream}'
11 - 'yangtools-distribution-{stream}'
12 - 'yangtools-distribution-check-{stream}'
13 - 'yangtools-integration-{stream}'
15 - 'yangtools-clm-{stream}'
16 - 'yangtools-validate-autorelease-{stream}'
19 # stream: release stream (eg. stable-lithium or beryllium)
20 # branch: git branch (eg. stable/lithium or master)
27 disable_autorelease: False
28 disable_distribution_check: False
30 branch: 'stable/beryllium'
35 disable_autorelease: False
36 disable_distribution_check: False
38 branch: 'stable/lithium'
43 disable_autorelease: True
44 disable_distribution_check: True
48 # For the Job templates below replace instances of:
49 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
50 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
51 # MAVEN_GOALS with your maven goals to build
52 # MAVEN_OPTS with your maven options to build
55 name: 'yangtools-merge-{stream}'
57 # Job template for ODL merge jobs
59 # The purpose of this job template is to setup a ODL merge job
60 # and deploy artifacts to Nexus.
63 # stream: release stream (eg. stable-lithium or beryllium)
64 # branch: git branch (eg. stable/lithium or master)
73 artifactDaysToKeep: '{build-artifact-days-to-keep}'
74 artifactNumToKeep: '{build-artifact-num-to-keep}'
82 refspec: 'refs/heads/{branch}'
86 credentials-id: '{ssh-credentials}'
88 choosing-strategy: 'default'
92 - ssh-agent-credentials:
98 - gerrit-trigger-patch-merged:
103 - jacoco-nojava-workaround
104 - provide-maven-settings:
105 global-settings-file: 'odl-global-settings'
106 settings-file: 'yangtools-settings'
109 maven-name: '{mvn33}'
111 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dmerge -Dstream={stream}'
112 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
113 settings: 'yangtools-settings'
115 global-settings: 'odl-global-settings'
116 global-settings-type: cfp
117 post-step-run-condition: UNSTABLE
121 condition-kind: file-exists
122 condition-filename: deploy-site.xml
123 condition-basedir: workspace
125 # The strategy here is intentional to run Maven site:deploy twice
126 # once using regular pom.xml to produce a staged-site which is
127 # then used by deploy-site.xml to push to Nexus. This is a
128 # workaround to Maven Site's default linking code which creates
129 # incorrect URLs for sites due to auto-detection assuming your
130 # project is configured in a certain way which ODL is not.
133 maven-version: '{mvn33}'
135 goals: 'site:deploy -V -B -Dstream={stream}'
138 settings: 'yangtools-settings'
140 global-settings: 'odl-global-settings'
141 global-settings-type: cfp
143 maven-version: '{mvn33}'
145 goals: 'site:deploy -V -B -Dstream={stream}'
148 settings: 'yangtools-settings'
150 global-settings: 'odl-global-settings'
151 global-settings-type: cfp
158 artifacts: '**/target/surefire-reports/*-output.txt, '
159 - email-notification:
160 email-prefix: '[yangtools]'
164 deploy-unstable: false
167 maven-version: '{mvn33}'
170 name: 'yangtools-periodic-{stream}'
173 # Job template for periodic builders
175 # The purpose of this job template is to setup a periodic
178 # Required Variables:
179 # stream: release stream (eg. stable-lithium or beryllium)
180 # branch: git branch (eg. stable/lithium or master)
189 artifactDaysToKeep: '{build-artifact-days-to-keep}'
190 artifactNumToKeep: '{build-artifact-num-to-keep}'
198 credentials-id: '{ssh-credentials}'
204 - ssh-agent-credentials:
206 - '{ssh-credentials}'
212 - jacoco-nojava-workaround
213 - provide-maven-settings:
214 global-settings-file: 'odl-global-settings'
215 settings-file: 'yangtools-settings'
218 maven-name: '{mvn33}'
220 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
221 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
222 settings: 'yangtools-settings'
224 global-settings: 'odl-global-settings'
225 global-settings-type: cfp
231 - email-notification:
232 email-prefix: '[yangtools]'
235 maven-version: '{mvn33}'
238 name: 'yangtools-distribution-{stream}'
240 # Required variables:
241 # stream: release stream (eg. stable-lithium or beryllium)
242 # branch: git branch (eg. stable/lithium or master)
249 daysToKeep: '{build-days-to-keep}'
250 numToKeep: '{build-num-to-keep}'
251 artifactDaysToKeep: '{build-artifact-days-to-keep}'
252 artifactNumToKeep: '{build-artifact-num-to-keep}'
256 project: 'integration/distribution'
260 credentials-id: '{ssh-credentials}'
266 - ssh-agent-credentials:
268 - '{ssh-credentials}'
272 jobs: '{project}-merge-{stream}'
276 - provide-maven-settings:
277 global-settings-file: 'odl-global-settings'
278 settings-file: 'yangtools-settings'
281 maven-name: '{mvn33}'
283 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
284 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
285 settings: 'integration-distribution-settings'
287 global-settings: 'odl-global-settings'
288 global-settings-type: cfp
291 - email-notification:
292 email-prefix: '[{project}]'
296 deploy-unstable: false
298 maven-version: '{mvn33}'
300 # Template: integration-patch-distribution-{stream}
301 # Goal: Build a patch and make sure the distribution can deploy with this change
302 # Operation: This job template builds a patch, creates a distribution containing
303 # the patch, and triggers the distribution deploy test
306 name: 'yangtools-distribution-check-{stream}'
307 disabled: '{obj:disable_distribution_check}'
315 daysToKeep: '{build-days-to-keep}'
316 numToKeep: '{build-num-to-keep}'
317 artifactDaysToKeep: '{build-artifact-days-to-keep}'
318 artifactNumToKeep: '{build-artifact-num-to-keep}'
324 refspec: 'refs/heads/{branch}'
327 - integration-distribution-git-url
330 - integration-gerrit-scm:
331 credentials-id: '{ssh-credentials}'
332 basedir: '$GERRIT_PROJECT'
333 refspec: '$GERRIT_REFSPEC'
335 - integration-distribution-scm:
336 credentials-id: '{ssh-credentials}'
341 - ssh-agent-credentials:
343 - '{ssh-credentials}'
347 server-name: 'OpenDaylight'
349 - patchset-created-event:
350 exclude-drafts: 'true'
351 exclude-trivial-rebase: 'false'
352 exclude-no-code-change: 'true'
353 - draft-published-event
354 - comment-added-contains-event:
355 comment-contains-value: 'test-distribution'
356 - comment-added-contains-event:
357 comment-contains-value: 'reverify'
358 - comment-added-contains-event:
359 comment-contains-value: 'recheck'
361 - project-compare-type: 'ANT'
362 project-pattern: '{name}'
364 - branch-compare-type: 'ANT'
365 branch-pattern: '**/{branch}'
374 maven-version: '{mvn33}'
375 pom: '$GERRIT_PROJECT/pom.xml'
376 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}'
378 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
379 settings: 'yangtools-settings'
381 global-settings: 'odl-global-settings'
382 global-settings-type: cfp
385 maven-name: '{mvn33}'
386 root-pom: 'distribution/pom.xml'
387 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
388 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
389 settings: 'yangtools-settings'
391 global-settings: 'odl-global-settings'
392 global-settings-type: cfp
393 ignore-upstream-changes: true
394 post-step-run-condition: 'SUCCESS'
397 - integration-distribution-check
401 artifacts: 'karaf.log'
403 artifacts: 'karaf_console.log'
404 - email-notification:
405 email-prefix: '[yangtools]'
407 maven-version: '{mvn33}'
410 name: 'yangtools-integration-{stream}'
413 # Job template for ODL integration verify jobs
415 # This is similar to a normal verify job, but it runs
416 # when a project that's a dependency of your project
417 # is successfully built.
419 # Required Variables:
420 # stream: release stream (eg. stable-lithium or beryllium)
421 # branch: git branch (eg. stable/lithium or master)
428 daysToKeep: '{build-days-to-keep}'
429 numToKeep: '{build-num-to-keep}'
430 artifactDaysToKeep: '{build-artifact-days-to-keep}'
431 artifactNumToKeep: '{build-artifact-num-to-keep}'
439 credentials-id: '{ssh-credentials}'
445 - ssh-agent-credentials:
447 - '{ssh-credentials}'
451 jobs: 'odlparent-merge-{stream}'
455 - jacoco-nojava-workaround
456 - provide-maven-settings:
457 global-settings-file: 'odl-global-settings'
458 settings-file: 'yangtools-settings'
461 maven-name: '{mvn33}'
463 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
464 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
465 settings: 'yangtools-settings'
467 global-settings: 'odl-global-settings'
468 global-settings-type: cfp
474 - email-notification:
475 email-prefix: '[yangtools] [odlparent]'
478 maven-version: '{mvn33}'
481 name: 'yangtools-sonar'
491 artifactDaysToKeep: '1'
492 artifactNumToKeep: '1'
500 credentials-id: '{ssh-credentials}'
506 - ssh-agent-credentials:
508 - '{ssh-credentials}'
512 - gerrit-trigger-patch-sonar:
516 - jacoco-nojava-workaround
517 - provide-maven-settings:
518 global-settings-file: 'odl-global-settings'
519 settings-file: 'yangtools-settings'
522 maven-name: '{mvn33}'
524 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dsonar'
525 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
526 settings: 'yangtools-settings'
528 global-settings: 'odl-global-settings'
529 global-settings-type: cfp
537 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
538 - email-notification:
539 email-prefix: '[yangtools]'
542 maven-version: '{mvn33}'
545 name: 'yangtools-clm-{stream}'
553 daysToKeep: '{build-days-to-keep}'
554 numToKeep: '{build-num-to-keep}'
555 artifactDaysToKeep: '{build-artifact-days-to-keep}'
556 artifactNumToKeep: '{build-artifact-num-to-keep}'
564 credentials-id: '{ssh-credentials}'
570 - ssh-agent-credentials:
572 - '{ssh-credentials}'
578 - provide-maven-settings:
579 global-settings-file: 'odl-global-settings'
580 settings-file: 'yangtools-settings'
583 maven-name: '{mvn33}'
585 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'
586 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
587 settings: 'yangtools-settings'
589 global-settings: 'odl-global-settings'
590 global-settings-type: cfp
593 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
595 application-name: yangtools
598 - email-notification:
599 email-prefix: '[yangtools]'
601 maven-version: '{mvn33}'
604 name: 'yangtools-validate-autorelease-{stream}'
605 disabled: '{obj:disable_autorelease}'
613 daysToKeep: '{build-days-to-keep}'
614 numToKeep: '{build-num-to-keep}'
615 artifactDaysToKeep: '{build-artifact-days-to-keep}'
616 artifactNumToKeep: '{build-artifact-num-to-keep}'
624 refspec: 'refs/heads/{branch}'
625 - autorelease-release-tag:
626 release-tag: 'validate'
627 - autorelease-release-branch:
628 release-branch: '{branch}'
631 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
632 description: "Autorelease clone URL"
637 credentials-id: '{ssh-credentials}'
647 - autorelease-build-timeout
648 - ssh-agent-credentials:
650 - '{ssh-credentials}'
654 server-name: 'OpenDaylight'
656 - patchset-created-event:
657 exclude-drafts: 'true'
658 exclude-trivial-rebase: 'false'
659 exclude-no-code-change: 'true'
660 - draft-published-event
661 - comment-added-contains-event:
662 comment-contains-value: 'recheck'
663 - comment-added-contains-event:
664 comment-contains-value: 'reverify'
665 - comment-added-contains-event:
666 comment-contains-value: 'revalidate'
668 - project-compare-type: 'ANT'
669 project-pattern: 'yangtools'
671 - branch-compare-type: 'ANT'
672 branch-pattern: '**/{branch}'
678 - jacoco-nojava-workaround
679 - autorelease-checkout-gerrit-patch
680 - autorelease-generate-release-patches
682 maven-version: '{mvn33}'
683 pom: validate-pom.xml
684 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'
687 settings: 'autorelease-settings'
689 global-settings: 'odl-global-settings'
690 global-settings-type: cfp
693 maven-name: '{mvn33}'
695 goals: 'clean validate -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
696 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
697 settings: 'autorelease-settings'
699 global-settings: 'odl-global-settings'
700 global-settings-type: cfp
701 automatic-archiving: false
702 post-step-run-condition: UNSTABLE
705 - autorelease-sys-stats
708 - email-notification:
709 email-prefix: '[autorelease] [yangtools]'
711 maven-version: '{mvn33}'