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 - 'discovery-verify-{stream}'
10 - 'discovery-merge-{stream}'
11 - 'discovery-daily-{stream}'
12 - 'discovery-distribution-{stream}'
13 - 'discovery-integration-{stream}'
15 - 'discovery-clm-{stream}'
16 - 'discovery-validate-autorelease-{stream}'
19 # stream: release stream (eg. stable-lithium or beryllium)
20 # branch: git branch (eg. stable/lithium or master)
31 # For the Job templates below replace instances of:
32 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
33 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
34 # MAVEN_GOALS with your maven goals to build
35 # MAVEN_OPTS with your maven options to build
38 name: 'discovery-verify-{stream}'
40 # Job template for ODL verify jobs
42 # The purpose of this job template is to setup a ODL verify job
45 # stream: release stream (eg. stable-lithium or beryllium)
46 # branch: git branch (eg. stable/lithium or master)
63 daysToKeep: '{build-days-to-keep}'
64 numToKeep: '{build-num-to-keep}'
65 artifactDaysToKeep: '{build-artifact-days-to-keep}'
66 artifactNumToKeep: '{build-artifact-num-to-keep}'
76 credentials-id: '{ssh-credentials}'
77 refspec: '$GERRIT_REFSPEC'
78 choosing-strategy: 'gerrit'
82 - ssh-agent-credentials:
87 - gerrit-trigger-patch-submitted:
92 - wipe-org-opendaylight-repo
93 - jacoco-nojava-workaround
94 - provide-maven-settings:
95 global-settings-file: '{odl-global-settings}'
96 settings-file: '{discovery-settings}'
98 maven-version: '{mvn33}'
100 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}'
102 - '-Xmx1024m -XX:MaxPermSize=256m'
103 settings: '{discovery-settings}'
104 global-settings: '{odl-global-settings}'
108 - email-notification:
109 email-prefix: '[discovery]'
113 name: 'discovery-merge-{stream}'
115 # Job template for ODL merge jobs
117 # The purpose of this job template is to setup a ODL merge job
118 # and deploy artifacts to Nexus.
120 # Required Variables:
121 # stream: release stream (eg. stable-lithium or beryllium)
122 # branch: git branch (eg. stable/lithium or master)
129 daysToKeep: '{build-days-to-keep}'
130 numToKeep: '{build-num-to-keep}'
131 artifactDaysToKeep: '{build-artifact-days-to-keep}'
132 artifactNumToKeep: '{build-artifact-num-to-keep}'
139 - gerrit-trigger-scm:
140 credentials-id: '{ssh-credentials}'
142 choosing-strategy: 'default'
146 - ssh-agent-credentials:
148 - '{ssh-credentials}'
151 - gerrit-trigger-patch-merged:
156 - wipe-org-opendaylight-repo
157 - jacoco-nojava-workaround
158 - provide-maven-settings:
159 global-settings-file: '{odl-global-settings}'
160 settings-file: '{discovery-settings}'
163 maven-name: '{mvn33}'
165 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dmerge -Dstream={stream}'
166 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
167 settings: '{discovery-settings}'
168 global-settings: '{odl-global-settings}'
169 post-step-run-condition: UNSTABLE
173 condition-kind: file-exists
174 condition-filename: deploy-site.xml
175 condition-basedir: workspace
177 # The strategy here is intentional to run Maven site:deploy twice
178 # once using regular pom.xml to produce a staged-site which is
179 # then used by deploy-site.xml to push to Nexus. This is a
180 # workaround to Maven Site's default linking code which creates
181 # incorrect URLs for sites due to auto-detection assuming your
182 # project is configured in a certain way which ODL is not.
185 maven-version: '{mvn33}'
187 goals: 'site:deploy -Dstream={stream}'
190 settings: '{discovery-settings}'
191 global-settings: '{odl-global-settings}'
193 maven-version: '{mvn33}'
195 goals: 'site:deploy -Dstream={stream}'
198 settings: '{discovery-settings}'
199 global-settings: '{odl-global-settings}'
205 - email-notification:
206 email-prefix: '[discovery]'
210 deploy-unstable: false
214 name: 'discovery-daily-{stream}'
216 # Job template for daily builders
218 # The purpose of this job template is to setup a daily/nightly
219 # builder and pushes to Sonar analysis.
221 # Required Variables:
222 # stream: release stream (eg. stable-lithium or beryllium)
223 # branch: git branch (eg. stable/lithium or master)
230 daysToKeep: '{build-days-to-keep}'
231 numToKeep: '{build-num-to-keep}'
232 artifactDaysToKeep: '{build-artifact-days-to-keep}'
233 artifactNumToKeep: '{build-artifact-num-to-keep}'
241 credentials-id: '{ssh-credentials}'
247 - ssh-agent-credentials:
249 - '{ssh-credentials}'
255 - wipe-org-opendaylight-repo
256 - jacoco-nojava-workaround
257 - provide-maven-settings:
258 global-settings-file: '{odl-global-settings}'
259 settings-file: '{discovery-settings}'
262 maven-name: '{mvn33}'
264 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
265 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
266 settings: '{discovery-settings}'
267 global-settings: '{odl-global-settings}'
273 - email-notification:
274 email-prefix: '[discovery]'
278 name: 'discovery-distribution-{stream}'
280 # Required variables:
281 # stream: release stream (eg. stable-lithium or beryllium)
282 # branch: git branch (eg. stable/lithium or master)
289 daysToKeep: '{build-days-to-keep}'
290 numToKeep: '{build-num-to-keep}'
291 artifactDaysToKeep: '{build-artifact-days-to-keep}'
292 artifactNumToKeep: '{build-artifact-num-to-keep}'
296 project: 'integration/distribution'
300 credentials-id: '{ssh-credentials}'
306 - ssh-agent-credentials:
308 - '{ssh-credentials}'
312 jobs: '{project}-merge-{stream}'
316 - wipe-org-opendaylight-repo
317 - provide-maven-settings:
318 global-settings-file: '{odl-global-settings}'
319 settings-file: '{discovery-settings}'
322 maven-name: '{mvn33}'
324 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
325 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
326 settings: '{integration-settings}'
327 global-settings: '{odl-global-settings}'
330 - email-notification:
331 email-prefix: '[{project}]'
335 deploy-unstable: false
338 name: 'discovery-integration-{stream}'
341 # Job template for ODL integration verify jobs
343 # This is similar to a normal verify job, but it runs
344 # when a project that's a dependency of your project
345 # is successfully built.
347 # Required Variables:
348 # stream: release stream (eg. stable-lithium or beryllium)
349 # branch: git branch (eg. stable/lithium or master)
356 daysToKeep: '{build-days-to-keep}'
357 numToKeep: '{build-num-to-keep}'
358 artifactDaysToKeep: '{build-artifact-days-to-keep}'
359 artifactNumToKeep: '{build-artifact-num-to-keep}'
367 credentials-id: '{ssh-credentials}'
373 - ssh-agent-credentials:
375 - '{ssh-credentials}'
379 jobs: 'odlparent-merge-{stream}'
383 - wipe-org-opendaylight-repo
384 - jacoco-nojava-workaround
385 - provide-maven-settings:
386 global-settings-file: '{odl-global-settings}'
387 settings-file: '{discovery-settings}'
390 maven-name: '{mvn33}'
392 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
393 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
394 settings: '{discovery-settings}'
395 global-settings: '{odl-global-settings}'
401 - email-notification:
402 email-prefix: '[discovery] [odlparent]'
406 name: 'discovery-sonar'
415 artifactDaysToKeep: '1'
416 artifactNumToKeep: '1'
424 credentials-id: '{ssh-credentials}'
430 - ssh-agent-credentials:
432 - '{ssh-credentials}'
436 - gerrit-trigger-patch-sonar:
440 - wipe-org-opendaylight-repo
441 - jacoco-nojava-workaround
442 - provide-maven-settings:
443 global-settings-file: '{odl-global-settings}'
444 settings-file: '{discovery-settings}'
447 maven-name: '{mvn33}'
449 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dsonar'
450 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
451 settings: '{discovery-settings}'
452 global-settings: '{odl-global-settings}'
460 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
461 - email-notification:
462 email-prefix: '[discovery]'
466 name: 'discovery-clm-{stream}'
473 daysToKeep: '{build-days-to-keep}'
474 numToKeep: '{build-num-to-keep}'
475 artifactDaysToKeep: '{build-artifact-days-to-keep}'
476 artifactNumToKeep: '{build-artifact-num-to-keep}'
484 credentials-id: '{ssh-credentials}'
490 - ssh-agent-credentials:
492 - '{ssh-credentials}'
498 - wipe-org-opendaylight-repo
499 - provide-maven-settings:
500 global-settings-file: '{odl-global-settings}'
501 settings-file: '{discovery-settings}'
504 maven-name: '{mvn33}'
506 goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
507 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
508 settings: '{discovery-settings}'
509 global-settings: '{odl-global-settings}'
513 application-name: discovery
516 - email-notification:
517 email-prefix: '[discovery]'
520 name: 'discovery-validate-autorelease-{stream}'
521 disabled: '{autorelease}'
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}'
539 - autorelease-release-tag:
540 release-tag: 'validate'
541 - autorelease-release-branch:
542 release-branch: '{branch}'
543 - autorelease-release-datestamp:
548 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
557 - autorelease-build-timeout
558 - ssh-agent-credentials:
560 - '{ssh-credentials}'
563 - gerrit-trigger-patch-submitted:
568 - wipe-org-opendaylight-repo
569 - jacoco-nojava-workaround
570 - autorelease-checkout-gerrit-patch
571 - autorelease-generate-taglist
572 - autorelease-generate-release-patches
574 maven-version: '{mvn33}'
575 pom: validate-pom.xml
576 goals: 'clean install -T1.5C -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
579 settings: '{autorelease-settings}'
580 global-settings: '{odl-global-settings}'
583 maven-name: '{mvn33}'
585 goals: 'clean validate -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
586 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
587 settings: '{autorelease-settings}'
588 global-settings: '{odl-global-settings}'
589 automatic-archiving: false
590 post-step-run-condition: UNSTABLE
593 - shell: "./scripts/list-project-dependencies.sh"
594 - autorelease-sys-stats
599 - email-notification:
600 email-prefix: '[autorelease] [discovery]'