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 - 'yang-push-verify-{stream}'
10 - 'yang-push-merge-{stream}'
11 - 'yang-push-periodic-{stream}'
12 - 'yang-push-distribution-{stream}'
13 - 'yang-push-integration-{stream}'
15 - 'yang-push-clm-{stream}'
16 - 'yang-push-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
35 disable_autorelease: True
39 # For the Job templates below replace instances of:
40 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
41 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
42 # MAVEN_GOALS with your maven goals to build
43 # MAVEN_OPTS with your maven options to build
46 name: 'yang-push-verify-{stream}'
48 # Job template for ODL verify jobs
50 # The purpose of this job template is to setup a ODL verify job
53 # stream: release stream (eg. stable-lithium or beryllium)
54 # branch: git branch (eg. stable/lithium or master)
71 daysToKeep: '{build-days-to-keep}'
72 numToKeep: '{build-num-to-keep}'
73 artifactDaysToKeep: '{build-artifact-days-to-keep}'
74 artifactNumToKeep: '{build-artifact-num-to-keep}'
81 - gerrit-refspec-parameter:
82 refspec: 'refs/heads/{branch}'
86 credentials-id: '{ssh-credentials}'
87 refspec: '$GERRIT_REFSPEC'
88 choosing-strategy: 'gerrit'
92 - ssh-agent-credentials:
97 - gerrit-trigger-patch-submitted:
102 - wipe-org-opendaylight-repo
103 - jacoco-nojava-workaround
104 - provide-maven-settings:
105 global-settings-file: '{odl-global-settings}'
106 settings-file: '{yang-push-settings}'
108 maven-version: '{mvn33}'
110 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dstream={stream}'
112 - '-Xmx1024m -XX:MaxPermSize=256m'
113 settings: '{yang-push-settings}'
114 global-settings: '{odl-global-settings}'
118 - email-notification:
119 email-prefix: '[yang-push]'
123 name: 'yang-push-merge-{stream}'
125 # Job template for ODL merge jobs
127 # The purpose of this job template is to setup a ODL merge job
128 # and deploy artifacts to Nexus.
130 # Required Variables:
131 # stream: release stream (eg. stable-lithium or beryllium)
132 # branch: git branch (eg. stable/lithium or master)
139 daysToKeep: '{build-days-to-keep}'
140 numToKeep: '{build-num-to-keep}'
141 artifactDaysToKeep: '{build-artifact-days-to-keep}'
142 artifactNumToKeep: '{build-artifact-num-to-keep}'
149 - gerrit-refspec-parameter:
150 refspec: 'refs/heads/{branch}'
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: '{yang-push-settings}'
177 maven-name: '{mvn33}'
179 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}'
180 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
181 settings: '{yang-push-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: '{yang-push-settings}'
205 global-settings: '{odl-global-settings}'
207 maven-version: '{mvn33}'
209 goals: 'site:deploy -Dstream={stream}'
212 settings: '{yang-push-settings}'
213 global-settings: '{odl-global-settings}'
220 artifacts: '**/target/surefire-reports/*-output.txt, '
221 - email-notification:
222 email-prefix: '[yang-push]'
226 deploy-unstable: false
230 name: 'yang-push-periodic-{stream}'
232 # Job template for periodic builders
234 # The purpose of this job template is to setup a periodic
237 # Required Variables:
238 # stream: release stream (eg. stable-lithium or beryllium)
239 # branch: git branch (eg. stable/lithium or master)
246 daysToKeep: '{build-days-to-keep}'
247 numToKeep: '{build-num-to-keep}'
248 artifactDaysToKeep: '{build-artifact-days-to-keep}'
249 artifactNumToKeep: '{build-artifact-num-to-keep}'
257 credentials-id: '{ssh-credentials}'
263 - ssh-agent-credentials:
265 - '{ssh-credentials}'
271 - wipe-org-opendaylight-repo
272 - jacoco-nojava-workaround
273 - provide-maven-settings:
274 global-settings-file: '{odl-global-settings}'
275 settings-file: '{yang-push-settings}'
278 maven-name: '{mvn33}'
280 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
281 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
282 settings: '{yang-push-settings}'
283 global-settings: '{odl-global-settings}'
289 - email-notification:
290 email-prefix: '[yang-push]'
294 name: 'yang-push-distribution-{stream}'
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}'
312 project: 'integration/distribution'
316 credentials-id: '{ssh-credentials}'
322 - ssh-agent-credentials:
324 - '{ssh-credentials}'
328 jobs: '{project}-merge-{stream}'
332 - wipe-org-opendaylight-repo
333 - provide-maven-settings:
334 global-settings-file: '{odl-global-settings}'
335 settings-file: '{yang-push-settings}'
338 maven-name: '{mvn33}'
340 goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
341 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
342 settings: '{integration-settings}'
343 global-settings: '{odl-global-settings}'
346 - email-notification:
347 email-prefix: '[{project}]'
351 deploy-unstable: false
354 name: 'yang-push-integration-{stream}'
357 # Job template for ODL integration verify jobs
359 # This is similar to a normal verify job, but it runs
360 # when a project that's a dependency of your project
361 # is successfully built.
363 # Required Variables:
364 # stream: release stream (eg. stable-lithium or beryllium)
365 # branch: git branch (eg. stable/lithium or master)
372 daysToKeep: '{build-days-to-keep}'
373 numToKeep: '{build-num-to-keep}'
374 artifactDaysToKeep: '{build-artifact-days-to-keep}'
375 artifactNumToKeep: '{build-artifact-num-to-keep}'
383 credentials-id: '{ssh-credentials}'
389 - ssh-agent-credentials:
391 - '{ssh-credentials}'
395 jobs: 'controller-merge-{stream},yangtools-merge-{stream},odlparent-merge-{stream}'
399 - wipe-org-opendaylight-repo
400 - jacoco-nojava-workaround
401 - provide-maven-settings:
402 global-settings-file: '{odl-global-settings}'
403 settings-file: '{yang-push-settings}'
406 maven-name: '{mvn33}'
408 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
409 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
410 settings: '{yang-push-settings}'
411 global-settings: '{odl-global-settings}'
417 - email-notification:
418 email-prefix: '[yang-push] [controller] [yangtools] [odlparent]'
422 name: 'yang-push-sonar'
431 artifactDaysToKeep: '1'
432 artifactNumToKeep: '1'
440 credentials-id: '{ssh-credentials}'
446 - ssh-agent-credentials:
448 - '{ssh-credentials}'
452 - gerrit-trigger-patch-sonar:
456 - wipe-org-opendaylight-repo
457 - jacoco-nojava-workaround
458 - provide-maven-settings:
459 global-settings-file: '{odl-global-settings}'
460 settings-file: '{yang-push-settings}'
463 maven-name: '{mvn33}'
465 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dsonar'
466 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
467 settings: '{yang-push-settings}'
468 global-settings: '{odl-global-settings}'
476 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
477 - email-notification:
478 email-prefix: '[yang-push]'
482 name: 'yang-push-clm-{stream}'
489 daysToKeep: '{build-days-to-keep}'
490 numToKeep: '{build-num-to-keep}'
491 artifactDaysToKeep: '{build-artifact-days-to-keep}'
492 artifactNumToKeep: '{build-artifact-num-to-keep}'
500 credentials-id: '{ssh-credentials}'
506 - ssh-agent-credentials:
508 - '{ssh-credentials}'
514 - wipe-org-opendaylight-repo
515 - provide-maven-settings:
516 global-settings-file: '{odl-global-settings}'
517 settings-file: '{yang-push-settings}'
520 maven-name: '{mvn33}'
522 goals: 'clean install -Djenkins -DskipTests=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
523 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
524 settings: '{yang-push-settings}'
525 global-settings: '{odl-global-settings}'
528 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
530 application-name: yang-push
533 - email-notification:
534 email-prefix: '[yang-push]'
537 name: 'yang-push-validate-autorelease-{stream}'
538 disabled: '{obj:disable_autorelease}'
546 daysToKeep: '{build-days-to-keep}'
547 numToKeep: '{build-num-to-keep}'
548 artifactDaysToKeep: '{build-artifact-days-to-keep}'
549 artifactNumToKeep: '{build-artifact-num-to-keep}'
556 - autorelease-release-tag:
557 release-tag: 'validate'
558 - autorelease-release-branch:
559 release-branch: '{branch}'
560 - autorelease-release-datestamp:
565 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
574 - autorelease-build-timeout
575 - ssh-agent-credentials:
577 - '{ssh-credentials}'
581 server-name: 'OpenDaylight'
583 - patchset-created-event:
584 exclude-drafts: 'false'
585 exclude-trivial-rebase: 'false'
586 exclude-no-code-change: 'false'
587 - draft-published-event
588 - comment-added-contains-event:
589 comment-contains-value: 'recheck'
590 - comment-added-contains-event:
591 comment-contains-value: 'reverify'
592 - comment-added-contains-event:
593 comment-contains-value: 'revalidate'
595 - project-compare-type: 'ANT'
596 project-pattern: 'yang-push'
598 - branch-compare-type: 'ANT'
599 branch-pattern: '**/{branch}'
602 - wipe-org-opendaylight-repo
603 - jacoco-nojava-workaround
604 - autorelease-checkout-gerrit-patch
605 - autorelease-generate-taglist
606 - autorelease-generate-release-patches
608 maven-version: '{mvn33}'
609 pom: validate-pom.xml
610 goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
613 settings: '{autorelease-settings}'
614 global-settings: '{odl-global-settings}'
617 maven-name: '{mvn33}'
619 goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
620 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
621 settings: '{autorelease-settings}'
622 global-settings: '{odl-global-settings}'
623 automatic-archiving: false
624 post-step-run-condition: UNSTABLE
627 - shell: "./scripts/list-project-dependencies.sh"
628 - autorelease-sys-stats
633 - email-notification:
634 email-prefix: '[autorelease] [yang-push]'