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 - 'controller-verify-{stream}'
10 - 'controller-merge-{stream}'
11 - 'controller-daily-{stream}'
12 - 'controller-distribution-{stream}'
13 - 'controller-integration-{stream}'
15 - 'controller-clm-{stream}'
16 - 'controller-validate-autorelease-{stream}'
19 # stream: release stream (eg. stable-lithium or beryllium)
20 # branch: git branch (eg. stable/lithium or master)
30 branch: 'stable/lithium'
37 branch: 'stable/helium'
45 # For the Job templates below replace instances of:
46 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
47 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
48 # MAVEN_GOALS with your maven goals to build
49 # MAVEN_OPTS with your maven options to build
52 name: 'controller-verify-{stream}'
54 # Job template for ODL verify jobs
56 # The purpose of this job template is to setup a ODL verify job
59 # stream: release stream (eg. stable-lithium or beryllium)
60 # branch: git branch (eg. stable/lithium or master)
77 daysToKeep: '{build-days-to-keep}'
78 numToKeep: '{build-num-to-keep}'
79 artifactDaysToKeep: '{build-artifact-days-to-keep}'
80 artifactNumToKeep: '{build-artifact-num-to-keep}'
90 credentials-id: '{ssh-credentials}'
91 refspec: '$GERRIT_REFSPEC'
92 choosing-strategy: 'gerrit'
96 - ssh-agent-credentials:
101 - gerrit-trigger-patch-submitted:
106 - wipe-org-opendaylight-repo
107 - jacoco-nojava-workaround
108 - provide-maven-settings:
109 global-settings-file: '{odl-global-settings}'
110 settings-file: '{controller-settings}'
112 maven-version: '{mvn33}'
114 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Pintegrationtests,docs -Dstream={stream}'
116 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
117 settings: '{controller-settings}'
118 global-settings: '{odl-global-settings}'
122 - email-notification:
123 email-prefix: '[controller]'
127 name: 'controller-merge-{stream}'
129 # Job template for ODL merge jobs
131 # The purpose of this job template is to setup a ODL merge job
132 # and deploy artifacts to Nexus.
134 # Required Variables:
135 # stream: release stream (eg. stable-lithium or beryllium)
136 # branch: git branch (eg. stable/lithium or master)
143 daysToKeep: '{build-days-to-keep}'
144 numToKeep: '{build-num-to-keep}'
145 artifactDaysToKeep: '{build-artifact-days-to-keep}'
146 artifactNumToKeep: '{build-artifact-num-to-keep}'
153 - gerrit-trigger-scm:
154 credentials-id: '{ssh-credentials}'
156 choosing-strategy: 'default'
160 - ssh-agent-credentials:
162 - '{ssh-credentials}'
165 - gerrit-trigger-patch-merged:
170 - wipe-org-opendaylight-repo
171 - jacoco-nojava-workaround
172 - provide-maven-settings:
173 global-settings-file: '{odl-global-settings}'
174 settings-file: '{controller-settings}'
177 maven-name: '{mvn33}'
179 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Pintegrationtests,docs -Dmerge -Dstream={stream}'
180 maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
181 settings: '{controller-settings}'
182 global-settings: '{odl-global-settings}'
183 post-step-run-condition: UNSTABLE
187 condition-kind: file-exists
188 condition-filename: deploy-site.xml
189 condition-basedir: workspace
191 # The strategy here is intentional to run Maven site:deploy twice
192 # once using regular pom.xml to produce a staged-site which is
193 # then used by deploy-site.xml to push to Nexus. This is a
194 # workaround to Maven Site's default linking code which creates
195 # incorrect URLs for sites due to auto-detection assuming your
196 # project is configured in a certain way which ODL is not.
199 maven-version: '{mvn33}'
201 goals: 'site:deploy -Dstream={stream}'
204 settings: '{controller-settings}'
205 global-settings: '{odl-global-settings}'
207 maven-version: '{mvn33}'
209 goals: 'site:deploy -Dstream={stream}'
212 settings: '{controller-settings}'
213 global-settings: '{odl-global-settings}'
219 - email-notification:
220 email-prefix: '[controller]'
224 deploy-unstable: false
228 name: 'controller-daily-{stream}'
230 # Job template for daily builders
232 # The purpose of this job template is to setup a daily/nightly
233 # builder and pushes to Sonar analysis.
235 # Required Variables:
236 # stream: release stream (eg. stable-lithium or beryllium)
237 # branch: git branch (eg. stable/lithium or master)
244 daysToKeep: '{build-days-to-keep}'
245 numToKeep: '{build-num-to-keep}'
246 artifactDaysToKeep: '{build-artifact-days-to-keep}'
247 artifactNumToKeep: '{build-artifact-num-to-keep}'
255 credentials-id: '{ssh-credentials}'
261 - ssh-agent-credentials:
263 - '{ssh-credentials}'
269 - wipe-org-opendaylight-repo
270 - jacoco-nojava-workaround
271 - provide-maven-settings:
272 global-settings-file: '{odl-global-settings}'
273 settings-file: '{controller-settings}'
276 maven-name: '{mvn33}'
278 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Pintegrationtests,docs'
279 maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
280 settings: '{controller-settings}'
281 global-settings: '{odl-global-settings}'
287 - email-notification:
288 email-prefix: '[controller]'
292 name: 'controller-distribution-{stream}'
294 # Required variables:
295 # stream: release stream (eg. stable-lithium or beryllium)
296 # branch: git branch (eg. stable/lithium or master)
303 daysToKeep: '{build-days-to-keep}'
304 numToKeep: '{build-num-to-keep}'
305 artifactDaysToKeep: '{build-artifact-days-to-keep}'
306 artifactNumToKeep: '{build-artifact-num-to-keep}'
310 project: 'integration/distribution'
314 credentials-id: '{ssh-credentials}'
320 - ssh-agent-credentials:
322 - '{ssh-credentials}'
326 jobs: '{project}-merge-{stream}'
330 - wipe-org-opendaylight-repo
331 - provide-maven-settings:
332 global-settings-file: '{odl-global-settings}'
333 settings-file: '{controller-settings}'
336 maven-name: '{mvn33}'
338 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
339 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
340 settings: '{integration-settings}'
341 global-settings: '{odl-global-settings}'
344 - email-notification:
345 email-prefix: '[{project}]'
349 deploy-unstable: false
352 name: 'controller-integration-{stream}'
355 # Job template for ODL integration verify jobs
357 # This is similar to a normal verify job, but it runs
358 # when a project that's a dependency of your project
359 # is successfully built.
361 # Required Variables:
362 # stream: release stream (eg. stable-lithium or beryllium)
363 # branch: git branch (eg. stable/lithium or master)
370 daysToKeep: '{build-days-to-keep}'
371 numToKeep: '{build-num-to-keep}'
372 artifactDaysToKeep: '{build-artifact-days-to-keep}'
373 artifactNumToKeep: '{build-artifact-num-to-keep}'
381 credentials-id: '{ssh-credentials}'
387 - ssh-agent-credentials:
389 - '{ssh-credentials}'
393 jobs: 'odlparent-merge-{stream},yangtools-merge-{stream},aaa-merge-{stream}'
397 - wipe-org-opendaylight-repo
398 - jacoco-nojava-workaround
399 - provide-maven-settings:
400 global-settings-file: '{odl-global-settings}'
401 settings-file: '{controller-settings}'
404 maven-name: '{mvn33}'
406 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Pintegrationtests,docs'
407 maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
408 settings: '{controller-settings}'
409 global-settings: '{odl-global-settings}'
415 - email-notification:
416 email-prefix: '[controller] [odlparent] [yangtools] [aaa]'
420 name: 'controller-sonar'
429 artifactDaysToKeep: '1'
430 artifactNumToKeep: '1'
438 credentials-id: '{ssh-credentials}'
444 - ssh-agent-credentials:
446 - '{ssh-credentials}'
450 - gerrit-trigger-patch-sonar:
454 - wipe-org-opendaylight-repo
455 - jacoco-nojava-workaround
456 - provide-maven-settings:
457 global-settings-file: '{odl-global-settings}'
458 settings-file: '{controller-settings}'
461 maven-name: '{mvn33}'
463 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Pintegrationtests,docs -Dsonar'
464 maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
465 settings: '{controller-settings}'
466 global-settings: '{odl-global-settings}'
474 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
475 - email-notification:
476 email-prefix: '[controller]'
480 name: 'controller-clm-{stream}'
487 daysToKeep: '{build-days-to-keep}'
488 numToKeep: '{build-num-to-keep}'
489 artifactDaysToKeep: '{build-artifact-days-to-keep}'
490 artifactNumToKeep: '{build-artifact-num-to-keep}'
498 credentials-id: '{ssh-credentials}'
504 - ssh-agent-credentials:
506 - '{ssh-credentials}'
512 - wipe-org-opendaylight-repo
513 - provide-maven-settings:
514 global-settings-file: '{odl-global-settings}'
515 settings-file: '{controller-settings}'
518 maven-name: '{mvn33}'
520 goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
521 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
522 settings: '{controller-settings}'
523 global-settings: '{odl-global-settings}'
527 application-name: controller
530 - email-notification:
531 email-prefix: '[controller]'
534 name: 'controller-validate-autorelease-{stream}'
535 disabled: '{autorelease}'
543 daysToKeep: '{build-days-to-keep}'
544 numToKeep: '{build-num-to-keep}'
545 artifactDaysToKeep: '{build-artifact-days-to-keep}'
546 artifactNumToKeep: '{build-artifact-num-to-keep}'
553 - autorelease-release-tag:
554 release-tag: 'validate'
555 - autorelease-release-branch:
556 release-branch: '{branch}'
557 - autorelease-release-datestamp:
562 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
571 - autorelease-build-timeout
572 - ssh-agent-credentials:
574 - '{ssh-credentials}'
577 - gerrit-trigger-patch-submitted:
582 - wipe-org-opendaylight-repo
583 - jacoco-nojava-workaround
584 - autorelease-checkout-gerrit-patch
585 - autorelease-generate-taglist
586 - autorelease-generate-release-patches
588 maven-version: '{mvn33}'
589 pom: validate-pom.xml
590 goals: 'clean install -T1.5C -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
593 settings: '{autorelease-settings}'
594 global-settings: '{odl-global-settings}'
597 maven-name: '{mvn33}'
599 goals: 'clean validate -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
600 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
601 settings: '{autorelease-settings}'
602 global-settings: '{odl-global-settings}'
603 automatic-archiving: false
604 post-step-run-condition: UNSTABLE
607 - shell: "./scripts/list-project-dependencies.sh"
608 - autorelease-sys-stats
613 - email-notification:
614 email-prefix: '[autorelease] [controller]'