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 - wipe-org-opendaylight-repo
104 - jacoco-nojava-workaround
105 - provide-maven-settings:
106 global-settings-file: 'odl-global-settings'
107 settings-file: 'yangtools-settings'
110 maven-name: '{mvn33}'
112 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dmerge -Dstream={stream}'
113 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
114 settings: 'yangtools-settings'
116 global-settings: 'odl-global-settings'
117 global-settings-type: cfp
118 post-step-run-condition: UNSTABLE
122 condition-kind: file-exists
123 condition-filename: deploy-site.xml
124 condition-basedir: workspace
126 # The strategy here is intentional to run Maven site:deploy twice
127 # once using regular pom.xml to produce a staged-site which is
128 # then used by deploy-site.xml to push to Nexus. This is a
129 # workaround to Maven Site's default linking code which creates
130 # incorrect URLs for sites due to auto-detection assuming your
131 # project is configured in a certain way which ODL is not.
134 maven-version: '{mvn33}'
136 goals: 'site:deploy -V -B -Dstream={stream}'
139 settings: 'yangtools-settings'
141 global-settings: 'odl-global-settings'
142 global-settings-type: cfp
144 maven-version: '{mvn33}'
146 goals: 'site:deploy -V -B -Dstream={stream}'
149 settings: 'yangtools-settings'
151 global-settings: 'odl-global-settings'
152 global-settings-type: cfp
159 artifacts: '**/target/surefire-reports/*-output.txt, '
160 - email-notification:
161 email-prefix: '[yangtools]'
165 deploy-unstable: false
169 name: 'yangtools-periodic-{stream}'
172 # Job template for periodic builders
174 # The purpose of this job template is to setup a periodic
177 # Required Variables:
178 # stream: release stream (eg. stable-lithium or beryllium)
179 # branch: git branch (eg. stable/lithium or master)
188 artifactDaysToKeep: '{build-artifact-days-to-keep}'
189 artifactNumToKeep: '{build-artifact-num-to-keep}'
197 credentials-id: '{ssh-credentials}'
203 - ssh-agent-credentials:
205 - '{ssh-credentials}'
211 - wipe-org-opendaylight-repo
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]'
236 name: 'yangtools-distribution-{stream}'
238 # Required variables:
239 # stream: release stream (eg. stable-lithium or beryllium)
240 # branch: git branch (eg. stable/lithium or master)
247 daysToKeep: '{build-days-to-keep}'
248 numToKeep: '{build-num-to-keep}'
249 artifactDaysToKeep: '{build-artifact-days-to-keep}'
250 artifactNumToKeep: '{build-artifact-num-to-keep}'
254 project: 'integration/distribution'
258 credentials-id: '{ssh-credentials}'
264 - ssh-agent-credentials:
266 - '{ssh-credentials}'
270 jobs: '{project}-merge-{stream}'
274 - wipe-org-opendaylight-repo
275 - provide-maven-settings:
276 global-settings-file: 'odl-global-settings'
277 settings-file: 'yangtools-settings'
280 maven-name: '{mvn33}'
282 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
283 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
284 settings: 'integration-distribution-settings'
286 global-settings: 'odl-global-settings'
287 global-settings-type: cfp
290 - email-notification:
291 email-prefix: '[{project}]'
295 deploy-unstable: false
297 # Template: integration-patch-distribution-{stream}
298 # Goal: Build a patch and make sure the distribution can deploy with this change
299 # Operation: This job template builds a patch, creates a distribution containing
300 # the patch, and triggers the distribution deploy test
303 name: 'yangtools-distribution-check-{stream}'
304 disabled: '{obj:disable_distribution_check}'
312 daysToKeep: '{build-days-to-keep}'
313 numToKeep: '{build-num-to-keep}'
314 artifactDaysToKeep: '{build-artifact-days-to-keep}'
315 artifactNumToKeep: '{build-artifact-num-to-keep}'
321 refspec: 'refs/heads/{branch}'
324 - integration-distribution-git-url
327 - integration-gerrit-scm:
328 credentials-id: '{ssh-credentials}'
329 basedir: '$GERRIT_PROJECT'
330 refspec: '$GERRIT_REFSPEC'
332 - integration-distribution-scm:
333 credentials-id: '{ssh-credentials}'
338 - ssh-agent-credentials:
340 - '{ssh-credentials}'
344 server-name: 'OpenDaylight'
346 - patchset-created-event:
347 exclude-drafts: 'true'
348 exclude-trivial-rebase: 'false'
349 exclude-no-code-change: 'true'
350 - draft-published-event
351 - comment-added-contains-event:
352 comment-contains-value: 'test-distribution'
353 - comment-added-contains-event:
354 comment-contains-value: 'reverify'
355 - comment-added-contains-event:
356 comment-contains-value: 'recheck'
358 - project-compare-type: 'ANT'
359 project-pattern: '{name}'
361 - branch-compare-type: 'ANT'
362 branch-pattern: '**/{branch}'
370 - wipe-org-opendaylight-repo
372 maven-version: '{mvn33}'
373 pom: '$GERRIT_PROJECT/pom.xml'
374 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}'
376 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
377 settings: 'yangtools-settings'
379 global-settings: 'odl-global-settings'
380 global-settings-type: cfp
383 maven-name: '{mvn33}'
384 root-pom: 'distribution/pom.xml'
385 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
386 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
387 settings: 'yangtools-settings'
389 global-settings: 'odl-global-settings'
390 global-settings-type: cfp
391 ignore-upstream-changes: true
392 post-step-run-condition: 'SUCCESS'
395 - integration-distribution-check
399 artifacts: 'karaf.log'
401 artifacts: 'karaf_console.log'
402 - email-notification:
403 email-prefix: '[yangtools]'
406 name: 'yangtools-integration-{stream}'
409 # Job template for ODL integration verify jobs
411 # This is similar to a normal verify job, but it runs
412 # when a project that's a dependency of your project
413 # is successfully built.
415 # Required Variables:
416 # stream: release stream (eg. stable-lithium or beryllium)
417 # branch: git branch (eg. stable/lithium or master)
424 daysToKeep: '{build-days-to-keep}'
425 numToKeep: '{build-num-to-keep}'
426 artifactDaysToKeep: '{build-artifact-days-to-keep}'
427 artifactNumToKeep: '{build-artifact-num-to-keep}'
435 credentials-id: '{ssh-credentials}'
441 - ssh-agent-credentials:
443 - '{ssh-credentials}'
447 jobs: 'odlparent-merge-{stream}'
451 - wipe-org-opendaylight-repo
452 - jacoco-nojava-workaround
453 - provide-maven-settings:
454 global-settings-file: 'odl-global-settings'
455 settings-file: 'yangtools-settings'
458 maven-name: '{mvn33}'
460 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
461 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
462 settings: 'yangtools-settings'
464 global-settings: 'odl-global-settings'
465 global-settings-type: cfp
471 - email-notification:
472 email-prefix: '[yangtools] [odlparent]'
476 name: 'yangtools-sonar'
486 artifactDaysToKeep: '1'
487 artifactNumToKeep: '1'
495 credentials-id: '{ssh-credentials}'
501 - ssh-agent-credentials:
503 - '{ssh-credentials}'
507 - gerrit-trigger-patch-sonar:
511 - wipe-org-opendaylight-repo
512 - jacoco-nojava-workaround
513 - provide-maven-settings:
514 global-settings-file: 'odl-global-settings'
515 settings-file: 'yangtools-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 -Dsonar'
521 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
522 settings: 'yangtools-settings'
524 global-settings: 'odl-global-settings'
525 global-settings-type: cfp
533 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
534 - email-notification:
535 email-prefix: '[yangtools]'
539 name: 'yangtools-clm-{stream}'
547 daysToKeep: '{build-days-to-keep}'
548 numToKeep: '{build-num-to-keep}'
549 artifactDaysToKeep: '{build-artifact-days-to-keep}'
550 artifactNumToKeep: '{build-artifact-num-to-keep}'
558 credentials-id: '{ssh-credentials}'
564 - ssh-agent-credentials:
566 - '{ssh-credentials}'
572 - wipe-org-opendaylight-repo
573 - provide-maven-settings:
574 global-settings-file: 'odl-global-settings'
575 settings-file: 'yangtools-settings'
578 maven-name: '{mvn33}'
580 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'
581 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
582 settings: 'yangtools-settings'
584 global-settings: 'odl-global-settings'
585 global-settings-type: cfp
588 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
590 application-name: yangtools
593 - email-notification:
594 email-prefix: '[yangtools]'
597 name: 'yangtools-validate-autorelease-{stream}'
598 disabled: '{obj:disable_autorelease}'
606 daysToKeep: '{build-days-to-keep}'
607 numToKeep: '{build-num-to-keep}'
608 artifactDaysToKeep: '{build-artifact-days-to-keep}'
609 artifactNumToKeep: '{build-artifact-num-to-keep}'
617 refspec: 'refs/heads/{branch}'
618 - autorelease-release-tag:
619 release-tag: 'validate'
620 - autorelease-release-branch:
621 release-branch: '{branch}'
624 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
625 description: "Autorelease clone URL"
630 credentials-id: '{ssh-credentials}'
640 - autorelease-build-timeout
641 - ssh-agent-credentials:
643 - '{ssh-credentials}'
647 server-name: 'OpenDaylight'
649 - patchset-created-event:
650 exclude-drafts: 'true'
651 exclude-trivial-rebase: 'false'
652 exclude-no-code-change: 'true'
653 - draft-published-event
654 - comment-added-contains-event:
655 comment-contains-value: 'recheck'
656 - comment-added-contains-event:
657 comment-contains-value: 'reverify'
658 - comment-added-contains-event:
659 comment-contains-value: 'revalidate'
661 - project-compare-type: 'ANT'
662 project-pattern: 'yangtools'
664 - branch-compare-type: 'ANT'
665 branch-pattern: '**/{branch}'
671 - wipe-org-opendaylight-repo
672 - jacoco-nojava-workaround
673 - autorelease-checkout-gerrit-patch
674 - autorelease-generate-release-patches
676 maven-version: '{mvn33}'
677 pom: validate-pom.xml
678 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'
681 settings: 'autorelease-settings'
683 global-settings: 'odl-global-settings'
684 global-settings-type: cfp
687 maven-name: '{mvn33}'
689 goals: 'clean validate -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
690 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
691 settings: 'autorelease-settings'
693 global-settings: 'odl-global-settings'
694 global-settings-type: cfp
695 automatic-archiving: false
696 post-step-run-condition: UNSTABLE
699 - autorelease-sys-stats
702 - email-notification:
703 email-prefix: '[autorelease] [yangtools]'