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 - 'vtn-verify-{stream}'
10 - 'vtn-merge-{stream}'
11 - 'vtn-periodic-{stream}'
12 - 'vtn-distribution-{stream}'
13 - 'vtn-integration-{stream}'
16 - 'vtn-validate-autorelease-{stream}'
19 # stream: release stream (eg. stable-lithium or beryllium)
20 # branch: git branch (eg. stable/lithium or master)
28 disable_autorelease: False
30 branch: 'stable/beryllium'
35 disable_autorelease: False
37 branch: 'stable/lithium'
41 disable_autorelease: True
43 branch: 'stable/helium'
47 disable_autorelease: True
51 # For the Job templates below replace instances of:
52 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
53 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
54 # MAVEN_GOALS with your maven goals to build
55 # MAVEN_OPTS with your maven options to build
58 name: 'vtn-verify-{stream}'
60 # Job template for ODL verify jobs
62 # The purpose of this job template is to setup a ODL verify job
65 # stream: release stream (eg. stable-lithium or beryllium)
66 # branch: git branch (eg. stable/lithium or master)
83 daysToKeep: '{build-days-to-keep}'
84 numToKeep: '{build-num-to-keep}'
85 artifactDaysToKeep: '{build-artifact-days-to-keep}'
86 artifactNumToKeep: '{build-artifact-num-to-keep}'
93 - gerrit-refspec-parameter:
94 refspec: 'refs/heads/{branch}'
98 credentials-id: '{ssh-credentials}'
99 refspec: '$GERRIT_REFSPEC'
100 choosing-strategy: 'gerrit'
104 - ssh-agent-credentials:
106 - '{ssh-credentials}'
109 - gerrit-trigger-patch-submitted:
114 - wipe-org-opendaylight-repo
115 - jacoco-nojava-workaround
116 - provide-maven-settings:
117 global-settings-file: '{odl-global-settings}'
118 settings-file: '{vtn-settings}'
120 maven-version: '{mvn33}'
122 goals: 'clean install -V -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dstream={stream}'
124 - '-Xmx1024m -XX:MaxPermSize=256m'
125 settings: '{vtn-settings}'
126 global-settings: '{odl-global-settings}'
130 - email-notification:
131 email-prefix: '[vtn]'
135 name: 'vtn-merge-{stream}'
137 # Job template for ODL merge jobs
139 # The purpose of this job template is to setup a ODL merge job
140 # and deploy artifacts to Nexus.
142 # Required Variables:
143 # stream: release stream (eg. stable-lithium or beryllium)
144 # branch: git branch (eg. stable/lithium or master)
151 daysToKeep: '{build-days-to-keep}'
152 numToKeep: '{build-num-to-keep}'
153 artifactDaysToKeep: '{build-artifact-days-to-keep}'
154 artifactNumToKeep: '{build-artifact-num-to-keep}'
161 - gerrit-refspec-parameter:
162 refspec: 'refs/heads/{branch}'
165 - gerrit-trigger-scm:
166 credentials-id: '{ssh-credentials}'
168 choosing-strategy: 'default'
172 - ssh-agent-credentials:
174 - '{ssh-credentials}'
178 - gerrit-trigger-patch-merged:
183 - wipe-org-opendaylight-repo
184 - jacoco-nojava-workaround
185 - provide-maven-settings:
186 global-settings-file: '{odl-global-settings}'
187 settings-file: '{vtn-settings}'
190 maven-name: '{mvn33}'
192 goals: 'clean install -V -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}'
193 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
194 settings: '{vtn-settings}'
195 global-settings: '{odl-global-settings}'
196 post-step-run-condition: UNSTABLE
200 condition-kind: file-exists
201 condition-filename: deploy-site.xml
202 condition-basedir: workspace
204 # The strategy here is intentional to run Maven site:deploy twice
205 # once using regular pom.xml to produce a staged-site which is
206 # then used by deploy-site.xml to push to Nexus. This is a
207 # workaround to Maven Site's default linking code which creates
208 # incorrect URLs for sites due to auto-detection assuming your
209 # project is configured in a certain way which ODL is not.
212 maven-version: '{mvn33}'
214 goals: 'site:deploy -Dstream={stream}'
217 settings: '{vtn-settings}'
218 global-settings: '{odl-global-settings}'
220 maven-version: '{mvn33}'
222 goals: 'site:deploy -Dstream={stream}'
225 settings: '{vtn-settings}'
226 global-settings: '{odl-global-settings}'
233 artifacts: '**/target/surefire-reports/*-output.txt, manager/dist/*/target/*.zip, coordinator/dist/target/*.bz2, manager/northbound/target/site/wsdocs/**, manager/api/target/*-javadoc.jar, manager/api/target/apidocs/**, target/*-javadoc.jar, target/apidocs/**, manager/model/target/site/models/**'
234 - email-notification:
235 email-prefix: '[vtn]'
239 deploy-unstable: false
243 name: 'vtn-periodic-{stream}'
245 # Job template for periodic builders
247 # The purpose of this job template is to setup a periodic
250 # Required Variables:
251 # stream: release stream (eg. stable-lithium or beryllium)
252 # branch: git branch (eg. stable/lithium or master)
259 daysToKeep: '{build-days-to-keep}'
260 numToKeep: '{build-num-to-keep}'
261 artifactDaysToKeep: '{build-artifact-days-to-keep}'
262 artifactNumToKeep: '{build-artifact-num-to-keep}'
270 credentials-id: '{ssh-credentials}'
276 - ssh-agent-credentials:
278 - '{ssh-credentials}'
284 - wipe-org-opendaylight-repo
285 - jacoco-nojava-workaround
286 - provide-maven-settings:
287 global-settings-file: '{odl-global-settings}'
288 settings-file: '{vtn-settings}'
291 maven-name: '{mvn33}'
293 goals: 'clean install -V -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
294 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
295 settings: '{vtn-settings}'
296 global-settings: '{odl-global-settings}'
302 - email-notification:
303 email-prefix: '[vtn]'
307 name: 'vtn-distribution-{stream}'
309 # Required variables:
310 # stream: release stream (eg. stable-lithium or beryllium)
311 # branch: git branch (eg. stable/lithium or master)
318 daysToKeep: '{build-days-to-keep}'
319 numToKeep: '{build-num-to-keep}'
320 artifactDaysToKeep: '{build-artifact-days-to-keep}'
321 artifactNumToKeep: '{build-artifact-num-to-keep}'
325 project: 'integration/distribution'
329 credentials-id: '{ssh-credentials}'
335 - ssh-agent-credentials:
337 - '{ssh-credentials}'
341 jobs: '{project}-merge-{stream}'
345 - wipe-org-opendaylight-repo
346 - provide-maven-settings:
347 global-settings-file: '{odl-global-settings}'
348 settings-file: '{vtn-settings}'
351 maven-name: '{mvn33}'
353 goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
354 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
355 settings: '{integration-settings}'
356 global-settings: '{odl-global-settings}'
359 - email-notification:
360 email-prefix: '[{project}]'
364 deploy-unstable: false
367 name: 'vtn-integration-{stream}'
370 # Job template for ODL integration verify jobs
372 # This is similar to a normal verify job, but it runs
373 # when a project that's a dependency of your project
374 # is successfully built.
376 # Required Variables:
377 # stream: release stream (eg. stable-lithium or beryllium)
378 # branch: git branch (eg. stable/lithium or master)
385 daysToKeep: '{build-days-to-keep}'
386 numToKeep: '{build-num-to-keep}'
387 artifactDaysToKeep: '{build-artifact-days-to-keep}'
388 artifactNumToKeep: '{build-artifact-num-to-keep}'
396 credentials-id: '{ssh-credentials}'
402 - ssh-agent-credentials:
404 - '{ssh-credentials}'
408 jobs: 'controller-merge-{stream},mdsal-merge-{stream},neutron-merge-{stream},odlparent-merge-{stream},openflowplugin-merge-{stream},ovsdb-merge-{stream},yangtools-merge-{stream}'
412 - wipe-org-opendaylight-repo
413 - jacoco-nojava-workaround
414 - provide-maven-settings:
415 global-settings-file: '{odl-global-settings}'
416 settings-file: '{vtn-settings}'
419 maven-name: '{mvn33}'
421 goals: 'clean install -V -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
422 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
423 settings: '{vtn-settings}'
424 global-settings: '{odl-global-settings}'
430 - email-notification:
431 email-prefix: '[vtn] [controller] [mdsal] [neutron] [odlparent] [openflowplugin] [ovsdb] [yangtools]'
444 artifactDaysToKeep: '1'
445 artifactNumToKeep: '1'
453 credentials-id: '{ssh-credentials}'
459 - ssh-agent-credentials:
461 - '{ssh-credentials}'
465 - gerrit-trigger-patch-sonar:
469 - wipe-org-opendaylight-repo
470 - jacoco-nojava-workaround
471 - provide-maven-settings:
472 global-settings-file: '{odl-global-settings}'
473 settings-file: '{vtn-settings}'
476 maven-name: '{mvn33}'
478 goals: 'clean install -V -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dsonar'
479 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
480 settings: '{vtn-settings}'
481 global-settings: '{odl-global-settings}'
489 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
490 - email-notification:
491 email-prefix: '[vtn]'
495 name: 'vtn-clm-{stream}'
502 daysToKeep: '{build-days-to-keep}'
503 numToKeep: '{build-num-to-keep}'
504 artifactDaysToKeep: '{build-artifact-days-to-keep}'
505 artifactNumToKeep: '{build-artifact-num-to-keep}'
513 credentials-id: '{ssh-credentials}'
519 - ssh-agent-credentials:
521 - '{ssh-credentials}'
527 - wipe-org-opendaylight-repo
528 - provide-maven-settings:
529 global-settings-file: '{odl-global-settings}'
530 settings-file: '{vtn-settings}'
533 maven-name: '{mvn33}'
535 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'
536 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
537 settings: '{vtn-settings}'
538 global-settings: '{odl-global-settings}'
541 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
543 application-name: vtn
546 - email-notification:
547 email-prefix: '[vtn]'
550 name: 'vtn-validate-autorelease-{stream}'
551 disabled: '{obj:disable_autorelease}'
559 daysToKeep: '{build-days-to-keep}'
560 numToKeep: '{build-num-to-keep}'
561 artifactDaysToKeep: '{build-artifact-days-to-keep}'
562 artifactNumToKeep: '{build-artifact-num-to-keep}'
569 - autorelease-release-tag:
570 release-tag: 'validate'
571 - autorelease-release-branch:
572 release-branch: '{branch}'
573 - autorelease-release-datestamp:
578 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
587 - autorelease-build-timeout
588 - ssh-agent-credentials:
590 - '{ssh-credentials}'
594 server-name: 'OpenDaylight'
596 - patchset-created-event:
597 exclude-drafts: 'false'
598 exclude-trivial-rebase: 'false'
599 exclude-no-code-change: 'false'
600 - draft-published-event
601 - comment-added-contains-event:
602 comment-contains-value: 'recheck'
603 - comment-added-contains-event:
604 comment-contains-value: 'reverify'
605 - comment-added-contains-event:
606 comment-contains-value: 'revalidate'
608 - project-compare-type: 'ANT'
609 project-pattern: 'vtn'
611 - branch-compare-type: 'ANT'
612 branch-pattern: '**/{branch}'
615 - wipe-org-opendaylight-repo
616 - jacoco-nojava-workaround
617 - autorelease-checkout-gerrit-patch
618 - autorelease-generate-taglist
619 - autorelease-generate-release-patches
621 maven-version: '{mvn33}'
622 pom: validate-pom.xml
623 goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
626 settings: '{autorelease-settings}'
627 global-settings: '{odl-global-settings}'
630 maven-name: '{mvn33}'
632 goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
633 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
634 settings: '{autorelease-settings}'
635 global-settings: '{odl-global-settings}'
636 automatic-archiving: false
637 post-step-run-condition: UNSTABLE
640 - shell: "./scripts/list-project-dependencies.sh"
641 - autorelease-sys-stats
646 - email-notification:
647 email-prefix: '[autorelease] [vtn]'