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 -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}'
113 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
114 settings: '{yangtools-settings}'
115 global-settings: '{odl-global-settings}'
116 post-step-run-condition: UNSTABLE
120 condition-kind: file-exists
121 condition-filename: deploy-site.xml
122 condition-basedir: workspace
124 # The strategy here is intentional to run Maven site:deploy twice
125 # once using regular pom.xml to produce a staged-site which is
126 # then used by deploy-site.xml to push to Nexus. This is a
127 # workaround to Maven Site's default linking code which creates
128 # incorrect URLs for sites due to auto-detection assuming your
129 # project is configured in a certain way which ODL is not.
132 maven-version: '{mvn33}'
134 goals: 'site:deploy -Dstream={stream}'
137 settings: '{yangtools-settings}'
138 global-settings: '{odl-global-settings}'
140 maven-version: '{mvn33}'
142 goals: 'site:deploy -Dstream={stream}'
145 settings: '{yangtools-settings}'
146 global-settings: '{odl-global-settings}'
153 artifacts: '**/target/surefire-reports/*-output.txt, '
154 - email-notification:
155 email-prefix: '[yangtools]'
159 deploy-unstable: false
163 name: 'yangtools-periodic-{stream}'
166 # Job template for periodic builders
168 # The purpose of this job template is to setup a periodic
171 # Required Variables:
172 # stream: release stream (eg. stable-lithium or beryllium)
173 # branch: git branch (eg. stable/lithium or master)
182 artifactDaysToKeep: '{build-artifact-days-to-keep}'
183 artifactNumToKeep: '{build-artifact-num-to-keep}'
191 credentials-id: '{ssh-credentials}'
197 - ssh-agent-credentials:
199 - '{ssh-credentials}'
205 - wipe-org-opendaylight-repo
206 - jacoco-nojava-workaround
207 - provide-maven-settings:
208 global-settings-file: '{odl-global-settings}'
209 settings-file: '{yangtools-settings}'
212 maven-name: '{mvn33}'
214 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
215 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
216 settings: '{yangtools-settings}'
217 global-settings: '{odl-global-settings}'
223 - email-notification:
224 email-prefix: '[yangtools]'
228 name: 'yangtools-distribution-{stream}'
230 # Required variables:
231 # stream: release stream (eg. stable-lithium or beryllium)
232 # branch: git branch (eg. stable/lithium or master)
235 node: dynamic_merge_8g
239 daysToKeep: '{build-days-to-keep}'
240 numToKeep: '{build-num-to-keep}'
241 artifactDaysToKeep: '{build-artifact-days-to-keep}'
242 artifactNumToKeep: '{build-artifact-num-to-keep}'
246 project: 'integration/distribution'
250 credentials-id: '{ssh-credentials}'
256 - ssh-agent-credentials:
258 - '{ssh-credentials}'
262 jobs: '{project}-merge-{stream}'
266 - wipe-org-opendaylight-repo
267 - provide-maven-settings:
268 global-settings-file: '{odl-global-settings}'
269 settings-file: '{yangtools-settings}'
272 maven-name: '{mvn33}'
274 goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
275 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
276 settings: '{integration-settings}'
277 global-settings: '{odl-global-settings}'
280 - email-notification:
281 email-prefix: '[{project}]'
285 deploy-unstable: false
287 # Template: integration-patch-distribution-{stream}
288 # Goal: Build a patch and make sure the distribution can deploy with this change
289 # Operation: This job template builds a patch, creates a distribution containing
290 # the patch, and triggers the distribution deploy test
293 name: 'yangtools-distribution-check-{stream}'
294 disabled: '{obj:disable_distribution_check}'
297 node: dynamic_verify_8g
304 artifactDaysToKeep: '{build-artifact-days-to-keep}'
305 artifactNumToKeep: '{build-artifact-num-to-keep}'
311 refspec: 'refs/heads/{branch}'
314 - integration-distribution-git-url
317 - integration-gerrit-scm:
318 credentials-id: '{ssh-credentials}'
319 basedir: '$GERRIT_PROJECT'
320 refspec: '$GERRIT_REFSPEC'
322 - integration-distribution-scm:
323 credentials-id: '{ssh-credentials}'
328 - ssh-agent-credentials:
330 - '{ssh-credentials}'
334 server-name: 'OpenDaylight'
336 - patchset-created-event:
337 exclude-drafts: 'true'
338 exclude-trivial-rebase: 'false'
339 exclude-no-code-change: 'true'
340 - draft-published-event
341 - comment-added-contains-event:
342 comment-contains-value: 'test-distribution'
343 - comment-added-contains-event:
344 comment-contains-value: 'reverify'
345 - comment-added-contains-event:
346 comment-contains-value: 'recheck'
348 - project-compare-type: 'ANT'
349 project-pattern: '{name}'
351 - branch-compare-type: 'ANT'
352 branch-pattern: '**/{branch}'
360 - wipe-org-opendaylight-repo
362 maven-version: '{mvn33}'
363 pom: '$GERRIT_PROJECT/pom.xml'
364 goals: 'clean install -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}'
366 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
367 settings: '{yangtools-settings}'
368 global-settings: '{odl-global-settings}'
371 maven-name: '{mvn33}'
372 root-pom: 'distribution/pom.xml'
373 goals: 'clean install -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
374 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
375 settings: '{yangtools-settings}'
376 global-settings: '{odl-global-settings}'
377 ignore-upstream-changes: true
378 post-step-run-condition: 'SUCCESS'
381 - integration-distribution-check
385 artifacts: 'karaf.log'
387 artifacts: 'karaf_console.log'
388 - email-notification:
389 email-prefix: '[yangtools]'
392 name: 'yangtools-integration-{stream}'
395 # Job template for ODL integration verify jobs
397 # This is similar to a normal verify job, but it runs
398 # when a project that's a dependency of your project
399 # is successfully built.
401 # Required Variables:
402 # stream: release stream (eg. stable-lithium or beryllium)
403 # branch: git branch (eg. stable/lithium or master)
410 daysToKeep: '{build-days-to-keep}'
411 numToKeep: '{build-num-to-keep}'
412 artifactDaysToKeep: '{build-artifact-days-to-keep}'
413 artifactNumToKeep: '{build-artifact-num-to-keep}'
421 credentials-id: '{ssh-credentials}'
427 - ssh-agent-credentials:
429 - '{ssh-credentials}'
433 jobs: 'odlparent-merge-{stream}'
437 - wipe-org-opendaylight-repo
438 - jacoco-nojava-workaround
439 - provide-maven-settings:
440 global-settings-file: '{odl-global-settings}'
441 settings-file: '{yangtools-settings}'
444 maven-name: '{mvn33}'
446 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
447 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
448 settings: '{yangtools-settings}'
449 global-settings: '{odl-global-settings}'
455 - email-notification:
456 email-prefix: '[yangtools] [odlparent]'
460 name: 'yangtools-sonar'
470 artifactDaysToKeep: '1'
471 artifactNumToKeep: '1'
479 credentials-id: '{ssh-credentials}'
485 - ssh-agent-credentials:
487 - '{ssh-credentials}'
491 - gerrit-trigger-patch-sonar:
495 - wipe-org-opendaylight-repo
496 - jacoco-nojava-workaround
497 - provide-maven-settings:
498 global-settings-file: '{odl-global-settings}'
499 settings-file: '{yangtools-settings}'
502 maven-name: '{mvn33}'
504 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dsonar'
505 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
506 settings: '{yangtools-settings}'
507 global-settings: '{odl-global-settings}'
515 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
516 - email-notification:
517 email-prefix: '[yangtools]'
521 name: 'yangtools-clm-{stream}'
529 daysToKeep: '{build-days-to-keep}'
530 numToKeep: '{build-num-to-keep}'
531 artifactDaysToKeep: '{build-artifact-days-to-keep}'
532 artifactNumToKeep: '{build-artifact-num-to-keep}'
540 credentials-id: '{ssh-credentials}'
546 - ssh-agent-credentials:
548 - '{ssh-credentials}'
554 - wipe-org-opendaylight-repo
555 - provide-maven-settings:
556 global-settings-file: '{odl-global-settings}'
557 settings-file: '{yangtools-settings}'
560 maven-name: '{mvn33}'
562 goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -Djenkins -DskipTests=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
563 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
564 settings: '{yangtools-settings}'
565 global-settings: '{odl-global-settings}'
568 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
570 application-name: yangtools
573 - email-notification:
574 email-prefix: '[yangtools]'
577 name: 'yangtools-validate-autorelease-{stream}'
578 disabled: '{obj:disable_autorelease}'
586 daysToKeep: '{build-days-to-keep}'
587 numToKeep: '{build-num-to-keep}'
588 artifactDaysToKeep: '{build-artifact-days-to-keep}'
589 artifactNumToKeep: '{build-artifact-num-to-keep}'
597 refspec: 'refs/heads/{branch}'
598 - autorelease-release-tag:
599 release-tag: 'validate'
600 - autorelease-release-branch:
601 release-branch: '{branch}'
604 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
605 description: "Autorelease clone URL"
618 - autorelease-build-timeout
619 - ssh-agent-credentials:
621 - '{ssh-credentials}'
625 server-name: 'OpenDaylight'
627 - patchset-created-event:
628 exclude-drafts: 'false'
629 exclude-trivial-rebase: 'false'
630 exclude-no-code-change: 'false'
631 - draft-published-event
632 - comment-added-contains-event:
633 comment-contains-value: 'recheck'
634 - comment-added-contains-event:
635 comment-contains-value: 'reverify'
636 - comment-added-contains-event:
637 comment-contains-value: 'revalidate'
639 - project-compare-type: 'ANT'
640 project-pattern: 'yangtools'
642 - branch-compare-type: 'ANT'
643 branch-pattern: '**/{branch}'
649 - wipe-org-opendaylight-repo
650 - jacoco-nojava-workaround
651 - autorelease-checkout-gerrit-patch
652 - autorelease-generate-release-patches
654 maven-version: '{mvn33}'
655 pom: validate-pom.xml
656 goals: 'clean install -B -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
659 settings: '{autorelease-settings}'
660 global-settings: '{odl-global-settings}'
663 maven-name: '{mvn33}'
665 goals: 'clean validate -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
666 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
667 settings: '{autorelease-settings}'
668 global-settings: '{odl-global-settings}'
669 automatic-archiving: false
670 post-step-run-condition: UNSTABLE
673 - autorelease-sys-stats
676 - email-notification:
677 email-prefix: '[autorelease] [yangtools]'