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-periodic-{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)
26 disable_autorelease: False
28 branch: 'stable/beryllium'
33 disable_autorelease: False
35 branch: 'stable/lithium'
40 disable_autorelease: True
42 branch: 'stable/helium'
46 disable_autorelease: True
50 # For the Job templates below replace instances of:
51 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
52 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
53 # MAVEN_GOALS with your maven goals to build
54 # MAVEN_OPTS with your maven options to build
57 name: 'yangtools-merge-{stream}'
59 # Job template for ODL merge jobs
61 # The purpose of this job template is to setup a ODL merge job
62 # and deploy artifacts to Nexus.
65 # stream: release stream (eg. stable-lithium or beryllium)
66 # branch: git branch (eg. stable/lithium or master)
73 daysToKeep: '{build-days-to-keep}'
74 numToKeep: '{build-num-to-keep}'
75 artifactDaysToKeep: '{build-artifact-days-to-keep}'
76 artifactNumToKeep: '{build-artifact-num-to-keep}'
83 - gerrit-refspec-parameter:
84 refspec: 'refs/heads/{branch}'
88 credentials-id: '{ssh-credentials}'
90 choosing-strategy: 'default'
94 - 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 -Djenkins -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}'
155 artifacts: '**/target/surefire-reports/*-output.txt, '
156 - email-notification:
157 email-prefix: '[yangtools]'
161 deploy-unstable: false
165 name: 'yangtools-periodic-{stream}'
166 # Temporarily disable until Rackspace networking issues are resolved
169 # Job template for periodic builders
171 # The purpose of this job template is to setup a periodic
174 # Required Variables:
175 # stream: release stream (eg. stable-lithium or beryllium)
176 # branch: git branch (eg. stable/lithium or master)
183 daysToKeep: '{build-days-to-keep}'
184 numToKeep: '{build-num-to-keep}'
185 artifactDaysToKeep: '{build-artifact-days-to-keep}'
186 artifactNumToKeep: '{build-artifact-num-to-keep}'
194 credentials-id: '{ssh-credentials}'
200 - ssh-agent-credentials:
202 - '{ssh-credentials}'
208 - wipe-org-opendaylight-repo
209 - jacoco-nojava-workaround
210 - provide-maven-settings:
211 global-settings-file: '{odl-global-settings}'
212 settings-file: '{yangtools-settings}'
215 maven-name: '{mvn33}'
217 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
218 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
219 settings: '{yangtools-settings}'
220 global-settings: '{odl-global-settings}'
226 - email-notification:
227 email-prefix: '[yangtools]'
231 name: 'yangtools-distribution-{stream}'
233 # Required variables:
234 # stream: release stream (eg. stable-lithium or beryllium)
235 # branch: git branch (eg. stable/lithium or master)
242 daysToKeep: '{build-days-to-keep}'
243 numToKeep: '{build-num-to-keep}'
244 artifactDaysToKeep: '{build-artifact-days-to-keep}'
245 artifactNumToKeep: '{build-artifact-num-to-keep}'
249 project: 'integration/distribution'
253 credentials-id: '{ssh-credentials}'
259 - ssh-agent-credentials:
261 - '{ssh-credentials}'
265 jobs: '{project}-merge-{stream}'
269 - wipe-org-opendaylight-repo
270 - provide-maven-settings:
271 global-settings-file: '{odl-global-settings}'
272 settings-file: '{yangtools-settings}'
275 maven-name: '{mvn33}'
277 goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
278 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
279 settings: '{integration-settings}'
280 global-settings: '{odl-global-settings}'
283 - email-notification:
284 email-prefix: '[{project}]'
288 deploy-unstable: false
291 name: 'yangtools-integration-{stream}'
292 # Temporarily disable this job until Rackspace networking issues are
297 # Job template for ODL integration verify jobs
299 # This is similar to a normal verify job, but it runs
300 # when a project that's a dependency of your project
301 # is successfully built.
303 # Required Variables:
304 # stream: release stream (eg. stable-lithium or beryllium)
305 # branch: git branch (eg. stable/lithium or master)
312 daysToKeep: '{build-days-to-keep}'
313 numToKeep: '{build-num-to-keep}'
314 artifactDaysToKeep: '{build-artifact-days-to-keep}'
315 artifactNumToKeep: '{build-artifact-num-to-keep}'
323 credentials-id: '{ssh-credentials}'
329 - ssh-agent-credentials:
331 - '{ssh-credentials}'
335 jobs: 'odlparent-merge-{stream}'
339 - wipe-org-opendaylight-repo
340 - jacoco-nojava-workaround
341 - provide-maven-settings:
342 global-settings-file: '{odl-global-settings}'
343 settings-file: '{yangtools-settings}'
346 maven-name: '{mvn33}'
348 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
349 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
350 settings: '{yangtools-settings}'
351 global-settings: '{odl-global-settings}'
357 - email-notification:
358 email-prefix: '[yangtools] [odlparent]'
362 name: 'yangtools-sonar'
363 # Temporarily disable until Rackspace networking issues are resolved
373 artifactDaysToKeep: '1'
374 artifactNumToKeep: '1'
382 credentials-id: '{ssh-credentials}'
388 - ssh-agent-credentials:
390 - '{ssh-credentials}'
394 - gerrit-trigger-patch-sonar:
398 - wipe-org-opendaylight-repo
399 - jacoco-nojava-workaround
400 - provide-maven-settings:
401 global-settings-file: '{odl-global-settings}'
402 settings-file: '{yangtools-settings}'
405 maven-name: '{mvn33}'
407 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dsonar'
408 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
409 settings: '{yangtools-settings}'
410 global-settings: '{odl-global-settings}'
418 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
419 - email-notification:
420 email-prefix: '[yangtools]'
424 name: 'yangtools-clm-{stream}'
425 # Temporarily disable until Rackspace networking issues are resolved
433 daysToKeep: '{build-days-to-keep}'
434 numToKeep: '{build-num-to-keep}'
435 artifactDaysToKeep: '{build-artifact-days-to-keep}'
436 artifactNumToKeep: '{build-artifact-num-to-keep}'
444 credentials-id: '{ssh-credentials}'
450 - ssh-agent-credentials:
452 - '{ssh-credentials}'
458 - wipe-org-opendaylight-repo
459 - provide-maven-settings:
460 global-settings-file: '{odl-global-settings}'
461 settings-file: '{yangtools-settings}'
464 maven-name: '{mvn33}'
466 goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -Djenkins -DskipTests=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
467 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
468 settings: '{yangtools-settings}'
469 global-settings: '{odl-global-settings}'
472 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
474 application-name: yangtools
477 - email-notification:
478 email-prefix: '[yangtools]'
481 name: 'yangtools-validate-autorelease-{stream}'
482 disabled: '{obj:disable_autorelease}'
490 daysToKeep: '{build-days-to-keep}'
491 numToKeep: '{build-num-to-keep}'
492 artifactDaysToKeep: '{build-artifact-days-to-keep}'
493 artifactNumToKeep: '{build-artifact-num-to-keep}'
500 - autorelease-release-tag:
501 release-tag: 'validate'
502 - autorelease-release-branch:
503 release-branch: '{branch}'
504 - autorelease-release-datestamp:
509 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
518 - autorelease-build-timeout
519 - ssh-agent-credentials:
521 - '{ssh-credentials}'
525 server-name: 'OpenDaylight'
527 - patchset-created-event:
528 exclude-drafts: 'false'
529 exclude-trivial-rebase: 'false'
530 exclude-no-code-change: 'false'
531 - draft-published-event
532 - comment-added-contains-event:
533 comment-contains-value: 'recheck'
534 - comment-added-contains-event:
535 comment-contains-value: 'reverify'
536 - comment-added-contains-event:
537 comment-contains-value: 'revalidate'
539 - project-compare-type: 'ANT'
540 project-pattern: 'yangtools'
542 - branch-compare-type: 'ANT'
543 branch-pattern: '**/{branch}'
546 - wipe-org-opendaylight-repo
547 - jacoco-nojava-workaround
548 - autorelease-checkout-gerrit-patch
549 - autorelease-generate-taglist
550 - autorelease-generate-release-patches
552 maven-version: '{mvn33}'
553 pom: validate-pom.xml
554 goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
557 settings: '{autorelease-settings}'
558 global-settings: '{odl-global-settings}'
561 maven-name: '{mvn33}'
563 goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
564 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
565 settings: '{autorelease-settings}'
566 global-settings: '{odl-global-settings}'
567 automatic-archiving: false
568 post-step-run-condition: UNSTABLE
571 - shell: "./scripts/list-project-dependencies.sh"
572 - autorelease-sys-stats
577 - email-notification:
578 email-prefix: '[autorelease] [yangtools]'