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 - 'toolkit-verify-{stream}'
10 - 'toolkit-merge-{stream}'
11 - 'toolkit-periodic-{stream}'
12 - 'toolkit-distribution-{stream}'
13 - 'toolkit-integration-{stream}'
15 - 'toolkit-clm-{stream}'
16 - 'toolkit-validate-autorelease-{stream}'
19 # stream: release stream (eg. stable-lithium or beryllium)
20 # branch: git branch (eg. stable/lithium or master)
27 disable_autorelease: True
29 branch: 'stable/beryllium'
33 disable_autorelease: True
37 # For the Job templates below replace instances of:
38 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
39 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
40 # MAVEN_GOALS with your maven goals to build
41 # MAVEN_OPTS with your maven options to build
44 name: 'toolkit-verify-{stream}'
46 # Job template for ODL verify jobs
48 # The purpose of this job template is to setup a ODL verify job
51 # stream: release stream (eg. stable-lithium or beryllium)
52 # branch: git branch (eg. stable/lithium or master)
69 daysToKeep: '{build-days-to-keep}'
70 numToKeep: '{build-num-to-keep}'
71 artifactDaysToKeep: '{build-artifact-days-to-keep}'
72 artifactNumToKeep: '{build-artifact-num-to-keep}'
79 - gerrit-refspec-parameter:
80 refspec: 'refs/heads/{branch}'
84 credentials-id: '{ssh-credentials}'
85 refspec: '$GERRIT_REFSPEC'
86 choosing-strategy: 'gerrit'
90 - ssh-agent-credentials:
95 - gerrit-trigger-patch-submitted:
100 - wipe-org-opendaylight-repo
101 - jacoco-nojava-workaround
102 - provide-maven-settings:
103 global-settings-file: '{odl-global-settings}'
104 settings-file: '{toolkit-settings}'
106 maven-version: '{mvn33}'
108 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dstream={stream}'
110 - '-Xmx1024m -XX:MaxPermSize=256m'
111 settings: '{toolkit-settings}'
112 global-settings: '{odl-global-settings}'
116 - email-notification:
117 email-prefix: '[toolkit]'
121 name: 'toolkit-merge-{stream}'
123 # Job template for ODL merge jobs
125 # The purpose of this job template is to setup a ODL merge job
126 # and deploy artifacts to Nexus.
128 # Required Variables:
129 # stream: release stream (eg. stable-lithium or beryllium)
130 # branch: git branch (eg. stable/lithium or master)
137 daysToKeep: '{build-days-to-keep}'
138 numToKeep: '{build-num-to-keep}'
139 artifactDaysToKeep: '{build-artifact-days-to-keep}'
140 artifactNumToKeep: '{build-artifact-num-to-keep}'
147 - gerrit-refspec-parameter:
148 refspec: 'refs/heads/{branch}'
151 - gerrit-trigger-scm:
152 credentials-id: '{ssh-credentials}'
154 choosing-strategy: 'default'
158 - ssh-agent-credentials:
160 - '{ssh-credentials}'
164 - gerrit-trigger-patch-merged:
169 - wipe-org-opendaylight-repo
170 - jacoco-nojava-workaround
171 - provide-maven-settings:
172 global-settings-file: '{odl-global-settings}'
173 settings-file: '{toolkit-settings}'
176 maven-name: '{mvn33}'
178 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}'
179 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
180 settings: '{toolkit-settings}'
181 global-settings: '{odl-global-settings}'
182 post-step-run-condition: UNSTABLE
186 condition-kind: file-exists
187 condition-filename: deploy-site.xml
188 condition-basedir: workspace
190 # The strategy here is intentional to run Maven site:deploy twice
191 # once using regular pom.xml to produce a staged-site which is
192 # then used by deploy-site.xml to push to Nexus. This is a
193 # workaround to Maven Site's default linking code which creates
194 # incorrect URLs for sites due to auto-detection assuming your
195 # project is configured in a certain way which ODL is not.
198 maven-version: '{mvn33}'
200 goals: 'site:deploy -Dstream={stream}'
203 settings: '{toolkit-settings}'
204 global-settings: '{odl-global-settings}'
206 maven-version: '{mvn33}'
208 goals: 'site:deploy -Dstream={stream}'
211 settings: '{toolkit-settings}'
212 global-settings: '{odl-global-settings}'
219 artifacts: '**/target/surefire-reports/*-output.txt, '
220 - email-notification:
221 email-prefix: '[toolkit]'
225 deploy-unstable: false
229 name: 'toolkit-periodic-{stream}'
230 # Temporarily disable until Rackspace networking issues are resolved
233 # Job template for periodic builders
235 # The purpose of this job template is to setup a periodic
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}'
258 credentials-id: '{ssh-credentials}'
264 - ssh-agent-credentials:
266 - '{ssh-credentials}'
272 - wipe-org-opendaylight-repo
273 - jacoco-nojava-workaround
274 - provide-maven-settings:
275 global-settings-file: '{odl-global-settings}'
276 settings-file: '{toolkit-settings}'
279 maven-name: '{mvn33}'
281 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
282 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
283 settings: '{toolkit-settings}'
284 global-settings: '{odl-global-settings}'
290 - email-notification:
291 email-prefix: '[toolkit]'
295 name: 'toolkit-distribution-{stream}'
297 # Required variables:
298 # stream: release stream (eg. stable-lithium or beryllium)
299 # branch: git branch (eg. stable/lithium or master)
306 daysToKeep: '{build-days-to-keep}'
307 numToKeep: '{build-num-to-keep}'
308 artifactDaysToKeep: '{build-artifact-days-to-keep}'
309 artifactNumToKeep: '{build-artifact-num-to-keep}'
313 project: 'integration/distribution'
317 credentials-id: '{ssh-credentials}'
323 - ssh-agent-credentials:
325 - '{ssh-credentials}'
329 jobs: '{project}-merge-{stream}'
333 - wipe-org-opendaylight-repo
334 - provide-maven-settings:
335 global-settings-file: '{odl-global-settings}'
336 settings-file: '{toolkit-settings}'
339 maven-name: '{mvn33}'
341 goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
342 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
343 settings: '{integration-settings}'
344 global-settings: '{odl-global-settings}'
347 - email-notification:
348 email-prefix: '[{project}]'
352 deploy-unstable: false
355 name: 'toolkit-integration-{stream}'
356 # Temporarily disable this job until Rackspace networking issues are
361 # Job template for ODL integration verify jobs
363 # This is similar to a normal verify job, but it runs
364 # when a project that's a dependency of your project
365 # is successfully built.
367 # Required Variables:
368 # stream: release stream (eg. stable-lithium or beryllium)
369 # branch: git branch (eg. stable/lithium or master)
376 daysToKeep: '{build-days-to-keep}'
377 numToKeep: '{build-num-to-keep}'
378 artifactDaysToKeep: '{build-artifact-days-to-keep}'
379 artifactNumToKeep: '{build-artifact-num-to-keep}'
387 credentials-id: '{ssh-credentials}'
393 - ssh-agent-credentials:
395 - '{ssh-credentials}'
399 jobs: 'odlparent-merge-{stream},controller-merge-{stream}'
403 - wipe-org-opendaylight-repo
404 - jacoco-nojava-workaround
405 - provide-maven-settings:
406 global-settings-file: '{odl-global-settings}'
407 settings-file: '{toolkit-settings}'
410 maven-name: '{mvn33}'
412 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
413 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
414 settings: '{toolkit-settings}'
415 global-settings: '{odl-global-settings}'
421 - email-notification:
422 email-prefix: '[toolkit] [odlparent] [controller]'
426 name: 'toolkit-sonar'
427 # Temporarily disable until Rackspace networking issues are resolved
437 artifactDaysToKeep: '1'
438 artifactNumToKeep: '1'
446 credentials-id: '{ssh-credentials}'
452 - ssh-agent-credentials:
454 - '{ssh-credentials}'
458 - gerrit-trigger-patch-sonar:
462 - wipe-org-opendaylight-repo
463 - jacoco-nojava-workaround
464 - provide-maven-settings:
465 global-settings-file: '{odl-global-settings}'
466 settings-file: '{toolkit-settings}'
469 maven-name: '{mvn33}'
471 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dsonar'
472 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
473 settings: '{toolkit-settings}'
474 global-settings: '{odl-global-settings}'
482 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
483 - email-notification:
484 email-prefix: '[toolkit]'
488 name: 'toolkit-clm-{stream}'
489 # Temporarily disable until Rackspace networking issues are resolved
497 daysToKeep: '{build-days-to-keep}'
498 numToKeep: '{build-num-to-keep}'
499 artifactDaysToKeep: '{build-artifact-days-to-keep}'
500 artifactNumToKeep: '{build-artifact-num-to-keep}'
508 credentials-id: '{ssh-credentials}'
514 - ssh-agent-credentials:
516 - '{ssh-credentials}'
522 - wipe-org-opendaylight-repo
523 - provide-maven-settings:
524 global-settings-file: '{odl-global-settings}'
525 settings-file: '{toolkit-settings}'
528 maven-name: '{mvn33}'
530 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'
531 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
532 settings: '{toolkit-settings}'
533 global-settings: '{odl-global-settings}'
536 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
538 application-name: toolkit
541 - email-notification:
542 email-prefix: '[toolkit]'
545 name: 'toolkit-validate-autorelease-{stream}'
546 disabled: '{obj:disable_autorelease}'
554 daysToKeep: '{build-days-to-keep}'
555 numToKeep: '{build-num-to-keep}'
556 artifactDaysToKeep: '{build-artifact-days-to-keep}'
557 artifactNumToKeep: '{build-artifact-num-to-keep}'
564 - autorelease-release-tag:
565 release-tag: 'validate'
566 - autorelease-release-branch:
567 release-branch: '{branch}'
568 - autorelease-release-datestamp:
573 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
582 - autorelease-build-timeout
583 - ssh-agent-credentials:
585 - '{ssh-credentials}'
589 server-name: 'OpenDaylight'
591 - patchset-created-event:
592 exclude-drafts: 'false'
593 exclude-trivial-rebase: 'false'
594 exclude-no-code-change: 'false'
595 - draft-published-event
596 - comment-added-contains-event:
597 comment-contains-value: 'recheck'
598 - comment-added-contains-event:
599 comment-contains-value: 'reverify'
600 - comment-added-contains-event:
601 comment-contains-value: 'revalidate'
603 - project-compare-type: 'ANT'
604 project-pattern: 'toolkit'
606 - branch-compare-type: 'ANT'
607 branch-pattern: '**/{branch}'
610 - wipe-org-opendaylight-repo
611 - jacoco-nojava-workaround
612 - autorelease-checkout-gerrit-patch
613 - autorelease-generate-taglist
614 - autorelease-generate-release-patches
616 maven-version: '{mvn33}'
617 pom: validate-pom.xml
618 goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
621 settings: '{autorelease-settings}'
622 global-settings: '{odl-global-settings}'
625 maven-name: '{mvn33}'
627 goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
628 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
629 settings: '{autorelease-settings}'
630 global-settings: '{odl-global-settings}'
631 automatic-archiving: false
632 post-step-run-condition: UNSTABLE
635 - shell: "./scripts/list-project-dependencies.sh"
636 - autorelease-sys-stats
641 - email-notification:
642 email-prefix: '[autorelease] [toolkit]'