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: True
34 disable_autorelease: False
36 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: 'yangtools-merge-{stream}'
60 # Job template for ODL merge jobs
62 # The purpose of this job template is to setup a ODL merge job
63 # and deploy artifacts to Nexus.
66 # stream: release stream (eg. stable-lithium or beryllium)
67 # branch: git branch (eg. stable/lithium or master)
74 daysToKeep: '{build-days-to-keep}'
75 numToKeep: '{build-num-to-keep}'
76 artifactDaysToKeep: '{build-artifact-days-to-keep}'
77 artifactNumToKeep: '{build-artifact-num-to-keep}'
84 - gerrit-refspec-parameter:
85 refspec: 'refs/heads/{branch}'
89 credentials-id: '{ssh-credentials}'
91 choosing-strategy: 'default'
95 - ssh-agent-credentials:
100 - gerrit-trigger-patch-merged:
105 - wipe-org-opendaylight-repo
106 - jacoco-nojava-workaround
107 - provide-maven-settings:
108 global-settings-file: '{odl-global-settings}'
109 settings-file: '{yangtools-settings}'
112 maven-name: '{mvn33}'
114 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dmerge -Dstream={stream}'
115 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
116 settings: '{yangtools-settings}'
117 global-settings: '{odl-global-settings}'
118 post-step-run-condition: UNSTABLE
122 condition-kind: file-exists
123 condition-filename: deploy-site.xml
124 condition-basedir: workspace
126 # The strategy here is intentional to run Maven site:deploy twice
127 # once using regular pom.xml to produce a staged-site which is
128 # then used by deploy-site.xml to push to Nexus. This is a
129 # workaround to Maven Site's default linking code which creates
130 # incorrect URLs for sites due to auto-detection assuming your
131 # project is configured in a certain way which ODL is not.
134 maven-version: '{mvn33}'
136 goals: 'site:deploy -Dstream={stream}'
139 settings: '{yangtools-settings}'
140 global-settings: '{odl-global-settings}'
142 maven-version: '{mvn33}'
144 goals: 'site:deploy -Dstream={stream}'
147 settings: '{yangtools-settings}'
148 global-settings: '{odl-global-settings}'
154 - email-notification:
155 email-prefix: '[yangtools]'
159 deploy-unstable: false
163 name: 'yangtools-daily-{stream}'
165 # Job template for daily builders
167 # The purpose of this job template is to setup a daily/nightly
168 # builder and pushes to Sonar analysis.
170 # Required Variables:
171 # stream: release stream (eg. stable-lithium or beryllium)
172 # branch: git branch (eg. stable/lithium or master)
179 daysToKeep: '{build-days-to-keep}'
180 numToKeep: '{build-num-to-keep}'
181 artifactDaysToKeep: '{build-artifact-days-to-keep}'
182 artifactNumToKeep: '{build-artifact-num-to-keep}'
190 credentials-id: '{ssh-credentials}'
196 - ssh-agent-credentials:
198 - '{ssh-credentials}'
204 - wipe-org-opendaylight-repo
205 - jacoco-nojava-workaround
206 - provide-maven-settings:
207 global-settings-file: '{odl-global-settings}'
208 settings-file: '{yangtools-settings}'
211 maven-name: '{mvn33}'
213 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
214 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
215 settings: '{yangtools-settings}'
216 global-settings: '{odl-global-settings}'
222 - email-notification:
223 email-prefix: '[yangtools]'
227 name: 'yangtools-distribution-{stream}'
229 # Required variables:
230 # stream: release stream (eg. stable-lithium or beryllium)
231 # branch: git branch (eg. stable/lithium or master)
238 daysToKeep: '{build-days-to-keep}'
239 numToKeep: '{build-num-to-keep}'
240 artifactDaysToKeep: '{build-artifact-days-to-keep}'
241 artifactNumToKeep: '{build-artifact-num-to-keep}'
245 project: 'integration/distribution'
249 credentials-id: '{ssh-credentials}'
255 - ssh-agent-credentials:
257 - '{ssh-credentials}'
261 jobs: '{project}-merge-{stream}'
265 - wipe-org-opendaylight-repo
266 - provide-maven-settings:
267 global-settings-file: '{odl-global-settings}'
268 settings-file: '{yangtools-settings}'
271 maven-name: '{mvn33}'
273 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
274 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
275 settings: '{integration-settings}'
276 global-settings: '{odl-global-settings}'
279 - email-notification:
280 email-prefix: '[{project}]'
284 deploy-unstable: false
287 name: 'yangtools-integration-{stream}'
290 # Job template for ODL integration verify jobs
292 # This is similar to a normal verify job, but it runs
293 # when a project that's a dependency of your project
294 # is successfully built.
296 # Required Variables:
297 # stream: release stream (eg. stable-lithium or beryllium)
298 # branch: git branch (eg. stable/lithium or master)
305 daysToKeep: '{build-days-to-keep}'
306 numToKeep: '{build-num-to-keep}'
307 artifactDaysToKeep: '{build-artifact-days-to-keep}'
308 artifactNumToKeep: '{build-artifact-num-to-keep}'
316 credentials-id: '{ssh-credentials}'
322 - ssh-agent-credentials:
324 - '{ssh-credentials}'
328 jobs: 'odlparent-merge-{stream}'
332 - wipe-org-opendaylight-repo
333 - jacoco-nojava-workaround
334 - provide-maven-settings:
335 global-settings-file: '{odl-global-settings}'
336 settings-file: '{yangtools-settings}'
339 maven-name: '{mvn33}'
341 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
342 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
343 settings: '{yangtools-settings}'
344 global-settings: '{odl-global-settings}'
350 - email-notification:
351 email-prefix: '[yangtools] [odlparent]'
355 name: 'yangtools-sonar'
364 artifactDaysToKeep: '1'
365 artifactNumToKeep: '1'
373 credentials-id: '{ssh-credentials}'
379 - ssh-agent-credentials:
381 - '{ssh-credentials}'
385 - gerrit-trigger-patch-sonar:
389 - wipe-org-opendaylight-repo
390 - jacoco-nojava-workaround
391 - provide-maven-settings:
392 global-settings-file: '{odl-global-settings}'
393 settings-file: '{yangtools-settings}'
396 maven-name: '{mvn33}'
398 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dsonar'
399 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
400 settings: '{yangtools-settings}'
401 global-settings: '{odl-global-settings}'
409 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
410 - email-notification:
411 email-prefix: '[yangtools]'
415 name: 'yangtools-clm-{stream}'
422 daysToKeep: '{build-days-to-keep}'
423 numToKeep: '{build-num-to-keep}'
424 artifactDaysToKeep: '{build-artifact-days-to-keep}'
425 artifactNumToKeep: '{build-artifact-num-to-keep}'
433 credentials-id: '{ssh-credentials}'
439 - ssh-agent-credentials:
441 - '{ssh-credentials}'
447 - wipe-org-opendaylight-repo
448 - provide-maven-settings:
449 global-settings-file: '{odl-global-settings}'
450 settings-file: '{yangtools-settings}'
453 maven-name: '{mvn33}'
455 goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -DskipTests=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
456 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
457 settings: '{yangtools-settings}'
458 global-settings: '{odl-global-settings}'
462 application-name: yangtools
465 - email-notification:
466 email-prefix: '[yangtools]'
469 name: 'yangtools-validate-autorelease-{stream}'
470 disabled: '{obj:disable_autorelease}'
478 daysToKeep: '{build-days-to-keep}'
479 numToKeep: '{build-num-to-keep}'
480 artifactDaysToKeep: '{build-artifact-days-to-keep}'
481 artifactNumToKeep: '{build-artifact-num-to-keep}'
488 - autorelease-release-tag:
489 release-tag: 'validate'
490 - autorelease-release-branch:
491 release-branch: '{branch}'
492 - autorelease-release-datestamp:
497 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
506 - autorelease-build-timeout
507 - ssh-agent-credentials:
509 - '{ssh-credentials}'
513 server-name: 'OpenDaylight'
515 - patchset-created-event:
516 exclude-drafts: 'false'
517 exclude-trivial-rebase: 'false'
518 exclude-no-code-change: 'false'
519 - draft-published-event
520 - comment-added-contains-event:
521 comment-contains-value: 'recheck'
522 - comment-added-contains-event:
523 comment-contains-value: 'reverify'
524 - comment-added-contains-event:
525 comment-contains-value: 'revalidate'
527 - project-compare-type: 'ANT'
528 project-pattern: 'yangtools'
530 - branch-compare-type: 'ANT'
531 branch-pattern: '**/{branch}'
534 - wipe-org-opendaylight-repo
535 - jacoco-nojava-workaround
536 - autorelease-checkout-gerrit-patch
537 - autorelease-generate-taglist
538 - autorelease-generate-release-patches
540 maven-version: '{mvn33}'
541 pom: validate-pom.xml
542 goals: 'clean install -T1.5C -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
545 settings: '{autorelease-settings}'
546 global-settings: '{odl-global-settings}'
549 maven-name: '{mvn33}'
551 goals: 'clean validate -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
552 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
553 settings: '{autorelease-settings}'
554 global-settings: '{odl-global-settings}'
555 automatic-archiving: false
556 post-step-run-condition: UNSTABLE
559 - shell: "./scripts/list-project-dependencies.sh"
560 - autorelease-sys-stats
565 - email-notification:
566 email-prefix: '[autorelease] [yangtools]'