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'
91 - opendaylight-infra-wrappers:
92 build-timeout: '{build-timeout}'
96 - gerrit-trigger-patch-merged:
101 - jacoco-nojava-workaround
102 - provide-maven-settings:
103 global-settings-file: 'odl-global-settings'
104 settings-file: 'yangtools-settings'
107 maven-name: '{mvn33}'
109 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dmerge -Dstream={stream}'
110 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
111 settings: 'yangtools-settings'
113 global-settings: 'odl-global-settings'
114 global-settings-type: cfp
115 post-step-run-condition: UNSTABLE
119 condition-kind: file-exists
120 condition-filename: deploy-site.xml
121 condition-basedir: workspace
123 # The strategy here is intentional to run Maven site:deploy twice
124 # once using regular pom.xml to produce a staged-site which is
125 # then used by deploy-site.xml to push to Nexus. This is a
126 # workaround to Maven Site's default linking code which creates
127 # incorrect URLs for sites due to auto-detection assuming your
128 # project is configured in a certain way which ODL is not.
131 maven-version: '{mvn33}'
133 goals: 'site:deploy -V -B -Dstream={stream}'
136 settings: 'yangtools-settings'
138 global-settings: 'odl-global-settings'
139 global-settings-type: cfp
141 maven-version: '{mvn33}'
143 goals: 'site:deploy -V -B -Dstream={stream}'
146 settings: 'yangtools-settings'
148 global-settings: 'odl-global-settings'
149 global-settings-type: cfp
156 artifacts: '**/target/surefire-reports/*-output.txt, '
157 - email-notification:
158 email-prefix: '[yangtools]'
162 deploy-unstable: false
165 maven-version: '{mvn33}'
168 name: 'yangtools-periodic-{stream}'
171 # Job template for periodic builders
173 # The purpose of this job template is to setup a periodic
176 # Required Variables:
177 # stream: release stream (eg. stable-lithium or beryllium)
178 # branch: git branch (eg. stable/lithium or master)
187 artifactDaysToKeep: '{build-artifact-days-to-keep}'
188 artifactNumToKeep: '{build-artifact-num-to-keep}'
196 credentials-id: '{ssh-credentials}'
201 - opendaylight-infra-wrappers:
202 build-timeout: '{build-timeout}'
208 - jacoco-nojava-workaround
209 - provide-maven-settings:
210 global-settings-file: 'odl-global-settings'
211 settings-file: 'yangtools-settings'
214 maven-name: '{mvn33}'
216 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
217 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
218 settings: 'yangtools-settings'
220 global-settings: 'odl-global-settings'
221 global-settings-type: cfp
227 - email-notification:
228 email-prefix: '[yangtools]'
231 maven-version: '{mvn33}'
234 name: 'yangtools-distribution-{stream}'
236 # Required variables:
237 # stream: release stream (eg. stable-lithium or beryllium)
238 # branch: git branch (eg. stable/lithium or master)
245 daysToKeep: '{build-days-to-keep}'
246 numToKeep: '{build-num-to-keep}'
247 artifactDaysToKeep: '{build-artifact-days-to-keep}'
248 artifactNumToKeep: '{build-artifact-num-to-keep}'
252 project: 'integration/distribution'
256 credentials-id: '{ssh-credentials}'
261 - opendaylight-infra-wrappers:
262 build-timeout: '{build-timeout}'
266 jobs: '{project}-merge-{stream}'
270 - provide-maven-settings:
271 global-settings-file: 'odl-global-settings'
272 settings-file: 'yangtools-settings'
275 maven-name: '{mvn33}'
277 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
278 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
279 settings: 'integration-distribution-settings'
281 global-settings: 'odl-global-settings'
282 global-settings-type: cfp
285 - email-notification:
286 email-prefix: '[{project}]'
290 deploy-unstable: false
292 maven-version: '{mvn33}'
294 # Template: integration-patch-distribution-{stream}
295 # Goal: Build a patch and make sure the distribution can deploy with this change
296 # Operation: This job template builds a patch, creates a distribution containing
297 # the patch, and triggers the distribution deploy test
300 name: 'yangtools-distribution-check-{stream}'
301 disabled: '{obj:disable_distribution_check}'
309 daysToKeep: '{build-days-to-keep}'
310 numToKeep: '{build-num-to-keep}'
311 artifactDaysToKeep: '{build-artifact-days-to-keep}'
312 artifactNumToKeep: '{build-artifact-num-to-keep}'
318 refspec: 'refs/heads/{branch}'
321 - integration-distribution-git-url
324 - integration-gerrit-scm:
325 credentials-id: '{ssh-credentials}'
326 basedir: '$GERRIT_PROJECT'
327 refspec: '$GERRIT_REFSPEC'
329 - integration-distribution-scm:
330 credentials-id: '{ssh-credentials}'
334 - opendaylight-infra-wrappers:
335 build-timeout: '{build-timeout}'
339 server-name: 'OpenDaylight'
341 - patchset-created-event:
342 exclude-drafts: 'true'
343 exclude-trivial-rebase: 'false'
344 exclude-no-code-change: 'true'
345 - draft-published-event
346 - comment-added-contains-event:
347 comment-contains-value: 'test-distribution'
348 - comment-added-contains-event:
349 comment-contains-value: 'reverify'
350 - comment-added-contains-event:
351 comment-contains-value: 'recheck'
353 - project-compare-type: 'ANT'
354 project-pattern: '{name}'
356 - branch-compare-type: 'ANT'
357 branch-pattern: '**/{branch}'
366 maven-version: '{mvn33}'
367 pom: '$GERRIT_PROJECT/pom.xml'
368 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}'
370 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
371 settings: 'yangtools-settings'
373 global-settings: 'odl-global-settings'
374 global-settings-type: cfp
377 maven-name: '{mvn33}'
378 root-pom: 'distribution/pom.xml'
379 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
380 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
381 settings: 'yangtools-settings'
383 global-settings: 'odl-global-settings'
384 global-settings-type: cfp
385 ignore-upstream-changes: true
386 post-step-run-condition: 'SUCCESS'
389 - integration-distribution-check
392 - email-notification:
393 email-prefix: '[yangtools]'
398 mkdir -p $WORKSPACE/archives
399 cp karaf*.log $WORKSPACE/archives
400 script-only-if-succeeded: False
401 script-only-if-failed: False
402 mark-unstable-if-failed: True
404 maven-version: '{mvn33}'
407 name: 'yangtools-integration-{stream}'
410 # Job template for ODL integration verify jobs
412 # This is similar to a normal verify job, but it runs
413 # when a project that's a dependency of your project
414 # is successfully built.
416 # Required Variables:
417 # stream: release stream (eg. stable-lithium or beryllium)
418 # branch: git branch (eg. stable/lithium or master)
425 daysToKeep: '{build-days-to-keep}'
426 numToKeep: '{build-num-to-keep}'
427 artifactDaysToKeep: '{build-artifact-days-to-keep}'
428 artifactNumToKeep: '{build-artifact-num-to-keep}'
436 credentials-id: '{ssh-credentials}'
441 - opendaylight-infra-wrappers:
442 build-timeout: '{build-timeout}'
446 jobs: 'odlparent-merge-{stream}'
450 - jacoco-nojava-workaround
451 - provide-maven-settings:
452 global-settings-file: 'odl-global-settings'
453 settings-file: 'yangtools-settings'
456 maven-name: '{mvn33}'
458 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
459 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
460 settings: 'yangtools-settings'
462 global-settings: 'odl-global-settings'
463 global-settings-type: cfp
469 - email-notification:
470 email-prefix: '[yangtools] [odlparent]'
473 maven-version: '{mvn33}'
476 name: 'yangtools-sonar'
486 artifactDaysToKeep: '1'
487 artifactNumToKeep: '1'
495 credentials-id: '{ssh-credentials}'
500 - opendaylight-infra-wrappers:
501 build-timeout: '{build-timeout}'
505 - gerrit-trigger-patch-sonar:
509 - jacoco-nojava-workaround
510 - provide-maven-settings:
511 global-settings-file: 'odl-global-settings'
512 settings-file: 'yangtools-settings'
515 maven-name: '{mvn33}'
517 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dsonar'
518 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
519 settings: 'yangtools-settings'
521 global-settings: 'odl-global-settings'
522 global-settings-type: cfp
530 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
531 - email-notification:
532 email-prefix: '[yangtools]'
535 maven-version: '{mvn33}'
538 name: 'yangtools-clm-{stream}'
546 daysToKeep: '{build-days-to-keep}'
547 numToKeep: '{build-num-to-keep}'
548 artifactDaysToKeep: '{build-artifact-days-to-keep}'
549 artifactNumToKeep: '{build-artifact-num-to-keep}'
557 credentials-id: '{ssh-credentials}'
562 - opendaylight-infra-wrappers:
563 build-timeout: '{build-timeout}'
569 - provide-maven-settings:
570 global-settings-file: 'odl-global-settings'
571 settings-file: 'yangtools-settings'
574 maven-name: '{mvn33}'
576 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'
577 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
578 settings: 'yangtools-settings'
580 global-settings: 'odl-global-settings'
581 global-settings-type: cfp
584 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
586 application-name: yangtools
589 - email-notification:
590 email-prefix: '[yangtools]'
592 maven-version: '{mvn33}'
595 name: 'yangtools-validate-autorelease-{stream}'
596 disabled: '{obj:disable_autorelease}'
604 daysToKeep: '{build-days-to-keep}'
605 numToKeep: '{build-num-to-keep}'
606 artifactDaysToKeep: '{build-artifact-days-to-keep}'
607 artifactNumToKeep: '{build-artifact-num-to-keep}'
615 refspec: 'refs/heads/{branch}'
616 - autorelease-release-tag:
617 release-tag: 'validate'
618 - autorelease-release-branch:
619 release-branch: '{branch}'
622 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
623 description: "Autorelease clone URL"
628 credentials-id: '{ssh-credentials}'
638 - opendaylight-infra-wrappers:
639 build-timeout: '{build-timeout}'
643 server-name: 'OpenDaylight'
645 - patchset-created-event:
646 exclude-drafts: 'true'
647 exclude-trivial-rebase: 'false'
648 exclude-no-code-change: 'true'
649 - draft-published-event
650 - comment-added-contains-event:
651 comment-contains-value: 'recheck'
652 - comment-added-contains-event:
653 comment-contains-value: 'reverify'
654 - comment-added-contains-event:
655 comment-contains-value: 'revalidate'
657 - project-compare-type: 'ANT'
658 project-pattern: 'yangtools'
660 - branch-compare-type: 'ANT'
661 branch-pattern: '**/{branch}'
667 - jacoco-nojava-workaround
668 - autorelease-checkout-gerrit-patch
669 - autorelease-generate-release-patches
671 maven-version: '{mvn33}'
672 pom: validate-pom.xml
673 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'
676 settings: 'autorelease-settings'
678 global-settings: 'odl-global-settings'
679 global-settings-type: cfp
682 maven-name: '{mvn33}'
684 goals: 'clean validate -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
685 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
686 settings: 'autorelease-settings'
688 global-settings: 'odl-global-settings'
689 global-settings-type: cfp
690 automatic-archiving: false
691 post-step-run-condition: UNSTABLE
694 - autorelease-sys-stats
697 - email-notification:
698 email-prefix: '[autorelease] [yangtools]'
700 maven-version: '{mvn33}'