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 - 'ttp-verify-{stream}'
10 - 'ttp-merge-{stream}'
11 - 'ttp-daily-{stream}'
12 - 'ttp-distribution-{stream}'
13 - 'ttp-integration-{stream}'
16 - 'ttp-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/lithium'
34 disable_autorelease: True
36 branch: 'stable/helium'
40 disable_autorelease: True
44 # For the Job templates below replace instances of:
45 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
46 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
47 # MAVEN_GOALS with your maven goals to build
48 # MAVEN_OPTS with your maven options to build
51 name: 'ttp-verify-{stream}'
53 # Job template for ODL verify jobs
55 # The purpose of this job template is to setup a ODL verify job
58 # stream: release stream (eg. stable-lithium or beryllium)
59 # branch: git branch (eg. stable/lithium or master)
76 daysToKeep: '{build-days-to-keep}'
77 numToKeep: '{build-num-to-keep}'
78 artifactDaysToKeep: '{build-artifact-days-to-keep}'
79 artifactNumToKeep: '{build-artifact-num-to-keep}'
89 credentials-id: '{ssh-credentials}'
90 refspec: '$GERRIT_REFSPEC'
91 choosing-strategy: 'gerrit'
95 - ssh-agent-credentials:
100 - gerrit-trigger-patch-submitted:
105 - wipe-org-opendaylight-repo
106 - jacoco-nojava-workaround
107 - provide-maven-settings:
108 global-settings-file: '{odl-global-settings}'
109 settings-file: '{ttp-settings}'
111 maven-version: '{mvn33}'
113 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}'
115 - '-Xmx1024m -XX:MaxPermSize=256m'
116 settings: '{ttp-settings}'
117 global-settings: '{odl-global-settings}'
121 - email-notification:
122 email-prefix: '[ttp]'
126 name: 'ttp-merge-{stream}'
128 # Job template for ODL merge jobs
130 # The purpose of this job template is to setup a ODL merge job
131 # and deploy artifacts to Nexus.
133 # Required Variables:
134 # stream: release stream (eg. stable-lithium or beryllium)
135 # branch: git branch (eg. stable/lithium or master)
142 daysToKeep: '{build-days-to-keep}'
143 numToKeep: '{build-num-to-keep}'
144 artifactDaysToKeep: '{build-artifact-days-to-keep}'
145 artifactNumToKeep: '{build-artifact-num-to-keep}'
152 - gerrit-trigger-scm:
153 credentials-id: '{ssh-credentials}'
155 choosing-strategy: 'default'
159 - ssh-agent-credentials:
161 - '{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: '{ttp-settings}'
176 maven-name: '{mvn33}'
178 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dmerge -Dstream={stream}'
179 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
180 settings: '{ttp-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: '{ttp-settings}'
204 global-settings: '{odl-global-settings}'
206 maven-version: '{mvn33}'
208 goals: 'site:deploy -Dstream={stream}'
211 settings: '{ttp-settings}'
212 global-settings: '{odl-global-settings}'
218 - email-notification:
219 email-prefix: '[ttp]'
223 deploy-unstable: false
227 name: 'ttp-daily-{stream}'
229 # Job template for daily builders
231 # The purpose of this job template is to setup a daily/nightly
232 # builder and pushes to Sonar analysis.
234 # Required Variables:
235 # stream: release stream (eg. stable-lithium or beryllium)
236 # branch: git branch (eg. stable/lithium or master)
243 daysToKeep: '{build-days-to-keep}'
244 numToKeep: '{build-num-to-keep}'
245 artifactDaysToKeep: '{build-artifact-days-to-keep}'
246 artifactNumToKeep: '{build-artifact-num-to-keep}'
254 credentials-id: '{ssh-credentials}'
260 - ssh-agent-credentials:
262 - '{ssh-credentials}'
268 - wipe-org-opendaylight-repo
269 - jacoco-nojava-workaround
270 - provide-maven-settings:
271 global-settings-file: '{odl-global-settings}'
272 settings-file: '{ttp-settings}'
275 maven-name: '{mvn33}'
277 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
278 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
279 settings: '{ttp-settings}'
280 global-settings: '{odl-global-settings}'
286 - email-notification:
287 email-prefix: '[ttp]'
291 name: 'ttp-distribution-{stream}'
293 # Required variables:
294 # stream: release stream (eg. stable-lithium or beryllium)
295 # branch: git branch (eg. stable/lithium or master)
302 daysToKeep: '{build-days-to-keep}'
303 numToKeep: '{build-num-to-keep}'
304 artifactDaysToKeep: '{build-artifact-days-to-keep}'
305 artifactNumToKeep: '{build-artifact-num-to-keep}'
309 project: 'integration/distribution'
313 credentials-id: '{ssh-credentials}'
319 - ssh-agent-credentials:
321 - '{ssh-credentials}'
325 jobs: '{project}-merge-{stream}'
329 - wipe-org-opendaylight-repo
330 - provide-maven-settings:
331 global-settings-file: '{odl-global-settings}'
332 settings-file: '{ttp-settings}'
335 maven-name: '{mvn33}'
337 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
338 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
339 settings: '{integration-settings}'
340 global-settings: '{odl-global-settings}'
343 - email-notification:
344 email-prefix: '[{project}]'
348 deploy-unstable: false
351 name: 'ttp-integration-{stream}'
354 # Job template for ODL integration verify jobs
356 # This is similar to a normal verify job, but it runs
357 # when a project that's a dependency of your project
358 # is successfully built.
360 # Required Variables:
361 # stream: release stream (eg. stable-lithium or beryllium)
362 # branch: git branch (eg. stable/lithium or master)
369 daysToKeep: '{build-days-to-keep}'
370 numToKeep: '{build-num-to-keep}'
371 artifactDaysToKeep: '{build-artifact-days-to-keep}'
372 artifactNumToKeep: '{build-artifact-num-to-keep}'
380 credentials-id: '{ssh-credentials}'
386 - ssh-agent-credentials:
388 - '{ssh-credentials}'
392 jobs: 'odlparent-merge-{stream}'
396 - wipe-org-opendaylight-repo
397 - jacoco-nojava-workaround
398 - provide-maven-settings:
399 global-settings-file: '{odl-global-settings}'
400 settings-file: '{ttp-settings}'
403 maven-name: '{mvn33}'
405 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
406 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
407 settings: '{ttp-settings}'
408 global-settings: '{odl-global-settings}'
414 - email-notification:
415 email-prefix: '[ttp] [odlparent]'
428 artifactDaysToKeep: '1'
429 artifactNumToKeep: '1'
437 credentials-id: '{ssh-credentials}'
443 - ssh-agent-credentials:
445 - '{ssh-credentials}'
449 - gerrit-trigger-patch-sonar:
453 - wipe-org-opendaylight-repo
454 - jacoco-nojava-workaround
455 - provide-maven-settings:
456 global-settings-file: '{odl-global-settings}'
457 settings-file: '{ttp-settings}'
460 maven-name: '{mvn33}'
462 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dsonar'
463 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
464 settings: '{ttp-settings}'
465 global-settings: '{odl-global-settings}'
473 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
474 - email-notification:
475 email-prefix: '[ttp]'
479 name: 'ttp-clm-{stream}'
486 daysToKeep: '{build-days-to-keep}'
487 numToKeep: '{build-num-to-keep}'
488 artifactDaysToKeep: '{build-artifact-days-to-keep}'
489 artifactNumToKeep: '{build-artifact-num-to-keep}'
497 credentials-id: '{ssh-credentials}'
503 - ssh-agent-credentials:
505 - '{ssh-credentials}'
511 - wipe-org-opendaylight-repo
512 - provide-maven-settings:
513 global-settings-file: '{odl-global-settings}'
514 settings-file: '{ttp-settings}'
517 maven-name: '{mvn33}'
519 goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
520 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
521 settings: '{ttp-settings}'
522 global-settings: '{odl-global-settings}'
526 application-name: ttp
529 - email-notification:
530 email-prefix: '[ttp]'
533 name: 'ttp-validate-autorelease-{stream}'
534 disabled: '{obj:disable_autorelease}'
542 daysToKeep: '{build-days-to-keep}'
543 numToKeep: '{build-num-to-keep}'
544 artifactDaysToKeep: '{build-artifact-days-to-keep}'
545 artifactNumToKeep: '{build-artifact-num-to-keep}'
552 - autorelease-release-tag:
553 release-tag: 'validate'
554 - autorelease-release-branch:
555 release-branch: '{branch}'
556 - autorelease-release-datestamp:
561 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
570 - autorelease-build-timeout
571 - ssh-agent-credentials:
573 - '{ssh-credentials}'
576 - gerrit-trigger-patch-submitted:
581 - wipe-org-opendaylight-repo
582 - jacoco-nojava-workaround
583 - autorelease-checkout-gerrit-patch
584 - autorelease-generate-taglist
585 - autorelease-generate-release-patches
587 maven-version: '{mvn33}'
588 pom: validate-pom.xml
589 goals: 'clean install -T1.5C -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
592 settings: '{autorelease-settings}'
593 global-settings: '{odl-global-settings}'
596 maven-name: '{mvn33}'
598 goals: 'clean validate -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
599 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
600 settings: '{autorelease-settings}'
601 global-settings: '{odl-global-settings}'
602 automatic-archiving: false
603 post-step-run-condition: UNSTABLE
606 - shell: "./scripts/list-project-dependencies.sh"
607 - autorelease-sys-stats
612 - email-notification:
613 email-prefix: '[autorelease] [ttp]'