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 - 'yangtools-merge-{stream}'
10 - 'yangtools-daily-{stream}'
11 - 'yangtools-distribution-{stream}'
12 - 'yangtools-integration-{stream}'
14 - 'yangtools-clm-{stream}'
15 - 'yangtools-validate-autorelease-{stream}'
18 # stream: release stream (eg. stable-lithium or beryllium)
19 # branch: git branch (eg. stable/lithium or master)
27 disable_autorelease: False
29 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: 'yangtools-merge-{stream}'
53 # Job template for ODL merge jobs
55 # The purpose of this job template is to setup a ODL merge job
56 # and deploy artifacts to Nexus.
59 # stream: release stream (eg. stable-lithium or beryllium)
60 # branch: git branch (eg. stable/lithium or master)
67 daysToKeep: '{build-days-to-keep}'
68 numToKeep: '{build-num-to-keep}'
69 artifactDaysToKeep: '{build-artifact-days-to-keep}'
70 artifactNumToKeep: '{build-artifact-num-to-keep}'
78 credentials-id: '{ssh-credentials}'
80 choosing-strategy: 'default'
84 - ssh-agent-credentials:
89 - gerrit-trigger-patch-merged:
94 - wipe-org-opendaylight-repo
95 - jacoco-nojava-workaround
96 - provide-maven-settings:
97 global-settings-file: '{odl-global-settings}'
98 settings-file: '{yangtools-settings}'
101 maven-name: '{mvn33}'
103 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dmerge -Dstream={stream}'
104 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
105 settings: '{yangtools-settings}'
106 global-settings: '{odl-global-settings}'
107 post-step-run-condition: UNSTABLE
111 condition-kind: file-exists
112 condition-filename: deploy-site.xml
113 condition-basedir: workspace
115 # The strategy here is intentional to run Maven site:deploy twice
116 # once using regular pom.xml to produce a staged-site which is
117 # then used by deploy-site.xml to push to Nexus. This is a
118 # workaround to Maven Site's default linking code which creates
119 # incorrect URLs for sites due to auto-detection assuming your
120 # project is configured in a certain way which ODL is not.
123 maven-version: '{mvn33}'
125 goals: 'site:deploy -Dstream={stream}'
128 settings: '{yangtools-settings}'
129 global-settings: '{odl-global-settings}'
131 maven-version: '{mvn33}'
133 goals: 'site:deploy -Dstream={stream}'
136 settings: '{yangtools-settings}'
137 global-settings: '{odl-global-settings}'
143 - email-notification:
144 email-prefix: '[yangtools]'
148 deploy-unstable: false
152 name: 'yangtools-daily-{stream}'
154 # Job template for daily builders
156 # The purpose of this job template is to setup a daily/nightly
157 # builder and pushes to Sonar analysis.
159 # Required Variables:
160 # stream: release stream (eg. stable-lithium or beryllium)
161 # branch: git branch (eg. stable/lithium or master)
168 daysToKeep: '{build-days-to-keep}'
169 numToKeep: '{build-num-to-keep}'
170 artifactDaysToKeep: '{build-artifact-days-to-keep}'
171 artifactNumToKeep: '{build-artifact-num-to-keep}'
179 credentials-id: '{ssh-credentials}'
185 - ssh-agent-credentials:
187 - '{ssh-credentials}'
193 - wipe-org-opendaylight-repo
194 - jacoco-nojava-workaround
195 - provide-maven-settings:
196 global-settings-file: '{odl-global-settings}'
197 settings-file: '{yangtools-settings}'
200 maven-name: '{mvn33}'
202 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
203 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
204 settings: '{yangtools-settings}'
205 global-settings: '{odl-global-settings}'
211 - email-notification:
212 email-prefix: '[yangtools]'
216 name: 'yangtools-distribution-{stream}'
218 # Required variables:
219 # stream: release stream (eg. stable-lithium or beryllium)
220 # branch: git branch (eg. stable/lithium or master)
227 daysToKeep: '{build-days-to-keep}'
228 numToKeep: '{build-num-to-keep}'
229 artifactDaysToKeep: '{build-artifact-days-to-keep}'
230 artifactNumToKeep: '{build-artifact-num-to-keep}'
234 project: 'integration/distribution'
238 credentials-id: '{ssh-credentials}'
244 - ssh-agent-credentials:
246 - '{ssh-credentials}'
250 jobs: '{project}-merge-{stream}'
254 - wipe-org-opendaylight-repo
255 - provide-maven-settings:
256 global-settings-file: '{odl-global-settings}'
257 settings-file: '{yangtools-settings}'
260 maven-name: '{mvn33}'
262 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
263 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
264 settings: '{integration-settings}'
265 global-settings: '{odl-global-settings}'
268 - email-notification:
269 email-prefix: '[{project}]'
273 deploy-unstable: false
276 name: 'yangtools-integration-{stream}'
279 # Job template for ODL integration verify jobs
281 # This is similar to a normal verify job, but it runs
282 # when a project that's a dependency of your project
283 # is successfully built.
285 # Required Variables:
286 # stream: release stream (eg. stable-lithium or beryllium)
287 # branch: git branch (eg. stable/lithium or master)
294 daysToKeep: '{build-days-to-keep}'
295 numToKeep: '{build-num-to-keep}'
296 artifactDaysToKeep: '{build-artifact-days-to-keep}'
297 artifactNumToKeep: '{build-artifact-num-to-keep}'
305 credentials-id: '{ssh-credentials}'
311 - ssh-agent-credentials:
313 - '{ssh-credentials}'
317 jobs: 'odlparent-merge-{stream}'
321 - wipe-org-opendaylight-repo
322 - jacoco-nojava-workaround
323 - provide-maven-settings:
324 global-settings-file: '{odl-global-settings}'
325 settings-file: '{yangtools-settings}'
328 maven-name: '{mvn33}'
330 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
331 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
332 settings: '{yangtools-settings}'
333 global-settings: '{odl-global-settings}'
339 - email-notification:
340 email-prefix: '[yangtools] [odlparent]'
344 name: 'yangtools-sonar'
353 artifactDaysToKeep: '1'
354 artifactNumToKeep: '1'
362 credentials-id: '{ssh-credentials}'
368 - ssh-agent-credentials:
370 - '{ssh-credentials}'
374 - gerrit-trigger-patch-sonar:
378 - wipe-org-opendaylight-repo
379 - jacoco-nojava-workaround
380 - provide-maven-settings:
381 global-settings-file: '{odl-global-settings}'
382 settings-file: '{yangtools-settings}'
385 maven-name: '{mvn33}'
387 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dsonar'
388 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
389 settings: '{yangtools-settings}'
390 global-settings: '{odl-global-settings}'
398 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
399 - email-notification:
400 email-prefix: '[yangtools]'
404 name: 'yangtools-clm-{stream}'
411 daysToKeep: '{build-days-to-keep}'
412 numToKeep: '{build-num-to-keep}'
413 artifactDaysToKeep: '{build-artifact-days-to-keep}'
414 artifactNumToKeep: '{build-artifact-num-to-keep}'
422 credentials-id: '{ssh-credentials}'
428 - ssh-agent-credentials:
430 - '{ssh-credentials}'
436 - wipe-org-opendaylight-repo
437 - provide-maven-settings:
438 global-settings-file: '{odl-global-settings}'
439 settings-file: '{yangtools-settings}'
442 maven-name: '{mvn33}'
444 goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
445 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
446 settings: '{yangtools-settings}'
447 global-settings: '{odl-global-settings}'
451 application-name: yangtools
454 - email-notification:
455 email-prefix: '[yangtools]'
458 name: 'yangtools-validate-autorelease-{stream}'
459 disabled: '{obj:disable_autorelease}'
467 daysToKeep: '{build-days-to-keep}'
468 numToKeep: '{build-num-to-keep}'
469 artifactDaysToKeep: '{build-artifact-days-to-keep}'
470 artifactNumToKeep: '{build-artifact-num-to-keep}'
477 - autorelease-release-tag:
478 release-tag: 'validate'
479 - autorelease-release-branch:
480 release-branch: '{branch}'
481 - autorelease-release-datestamp:
486 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
495 - autorelease-build-timeout
496 - ssh-agent-credentials:
498 - '{ssh-credentials}'
501 - gerrit-trigger-patch-submitted:
506 - wipe-org-opendaylight-repo
507 - jacoco-nojava-workaround
508 - autorelease-checkout-gerrit-patch
509 - autorelease-generate-taglist
510 - autorelease-generate-release-patches
512 maven-version: '{mvn33}'
513 pom: validate-pom.xml
514 goals: 'clean install -T1.5C -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
517 settings: '{autorelease-settings}'
518 global-settings: '{odl-global-settings}'
521 maven-name: '{mvn33}'
523 goals: 'clean validate -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
524 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
525 settings: '{autorelease-settings}'
526 global-settings: '{odl-global-settings}'
527 automatic-archiving: false
528 post-step-run-condition: UNSTABLE
531 - shell: "./scripts/list-project-dependencies.sh"
532 - autorelease-sys-stats
537 - email-notification:
538 email-prefix: '[autorelease] [yangtools]'