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)
27 disable_autorelease: False
34 disable_autorelease: True
36 branch: 'stable/lithium'
41 disable_autorelease: False
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:
101 - gerrit-trigger-patch-merged:
106 - wipe-org-opendaylight-repo
107 - jacoco-nojava-workaround
108 - provide-maven-settings:
109 global-settings-file: '{odl-global-settings}'
110 settings-file: '{yangtools-settings}'
113 maven-name: '{mvn33}'
115 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}'
116 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
117 settings: '{yangtools-settings}'
118 global-settings: '{odl-global-settings}'
119 post-step-run-condition: UNSTABLE
123 condition-kind: file-exists
124 condition-filename: deploy-site.xml
125 condition-basedir: workspace
127 # The strategy here is intentional to run Maven site:deploy twice
128 # once using regular pom.xml to produce a staged-site which is
129 # then used by deploy-site.xml to push to Nexus. This is a
130 # workaround to Maven Site's default linking code which creates
131 # incorrect URLs for sites due to auto-detection assuming your
132 # project is configured in a certain way which ODL is not.
135 maven-version: '{mvn33}'
137 goals: 'site:deploy -Dstream={stream}'
140 settings: '{yangtools-settings}'
141 global-settings: '{odl-global-settings}'
143 maven-version: '{mvn33}'
145 goals: 'site:deploy -Dstream={stream}'
148 settings: '{yangtools-settings}'
149 global-settings: '{odl-global-settings}'
156 artifacts: '**/target/surefire-reports/*-output.txt, '
157 - email-notification:
158 email-prefix: '[yangtools]'
162 deploy-unstable: false
166 name: 'yangtools-periodic-{stream}'
168 # Job template for periodic builders
170 # The purpose of this job template is to setup a periodic
173 # Required Variables:
174 # stream: release stream (eg. stable-lithium or beryllium)
175 # branch: git branch (eg. stable/lithium or master)
182 daysToKeep: '{build-days-to-keep}'
183 numToKeep: '{build-num-to-keep}'
184 artifactDaysToKeep: '{build-artifact-days-to-keep}'
185 artifactNumToKeep: '{build-artifact-num-to-keep}'
193 credentials-id: '{ssh-credentials}'
199 - ssh-agent-credentials:
201 - '{ssh-credentials}'
207 - wipe-org-opendaylight-repo
208 - jacoco-nojava-workaround
209 - provide-maven-settings:
210 global-settings-file: '{odl-global-settings}'
211 settings-file: '{yangtools-settings}'
214 maven-name: '{mvn33}'
216 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
217 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
218 settings: '{yangtools-settings}'
219 global-settings: '{odl-global-settings}'
225 - email-notification:
226 email-prefix: '[yangtools]'
230 name: 'yangtools-distribution-{stream}'
232 # Required variables:
233 # stream: release stream (eg. stable-lithium or beryllium)
234 # branch: git branch (eg. stable/lithium or master)
241 daysToKeep: '{build-days-to-keep}'
242 numToKeep: '{build-num-to-keep}'
243 artifactDaysToKeep: '{build-artifact-days-to-keep}'
244 artifactNumToKeep: '{build-artifact-num-to-keep}'
248 project: 'integration/distribution'
252 credentials-id: '{ssh-credentials}'
258 - ssh-agent-credentials:
260 - '{ssh-credentials}'
264 jobs: '{project}-merge-{stream}'
268 - wipe-org-opendaylight-repo
269 - provide-maven-settings:
270 global-settings-file: '{odl-global-settings}'
271 settings-file: '{yangtools-settings}'
274 maven-name: '{mvn33}'
276 goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
277 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
278 settings: '{integration-settings}'
279 global-settings: '{odl-global-settings}'
282 - email-notification:
283 email-prefix: '[{project}]'
287 deploy-unstable: false
290 name: 'yangtools-integration-{stream}'
293 # Job template for ODL integration verify jobs
295 # This is similar to a normal verify job, but it runs
296 # when a project that's a dependency of your project
297 # is successfully built.
299 # Required Variables:
300 # stream: release stream (eg. stable-lithium or beryllium)
301 # branch: git branch (eg. stable/lithium or master)
308 daysToKeep: '{build-days-to-keep}'
309 numToKeep: '{build-num-to-keep}'
310 artifactDaysToKeep: '{build-artifact-days-to-keep}'
311 artifactNumToKeep: '{build-artifact-num-to-keep}'
319 credentials-id: '{ssh-credentials}'
325 - ssh-agent-credentials:
327 - '{ssh-credentials}'
331 jobs: 'odlparent-merge-{stream}'
335 - wipe-org-opendaylight-repo
336 - jacoco-nojava-workaround
337 - provide-maven-settings:
338 global-settings-file: '{odl-global-settings}'
339 settings-file: '{yangtools-settings}'
342 maven-name: '{mvn33}'
344 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
345 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
346 settings: '{yangtools-settings}'
347 global-settings: '{odl-global-settings}'
353 - email-notification:
354 email-prefix: '[yangtools] [odlparent]'
358 name: 'yangtools-sonar'
367 artifactDaysToKeep: '1'
368 artifactNumToKeep: '1'
376 credentials-id: '{ssh-credentials}'
382 - ssh-agent-credentials:
384 - '{ssh-credentials}'
388 - gerrit-trigger-patch-sonar:
392 - wipe-org-opendaylight-repo
393 - jacoco-nojava-workaround
394 - provide-maven-settings:
395 global-settings-file: '{odl-global-settings}'
396 settings-file: '{yangtools-settings}'
399 maven-name: '{mvn33}'
401 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dsonar'
402 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
403 settings: '{yangtools-settings}'
404 global-settings: '{odl-global-settings}'
412 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
413 - email-notification:
414 email-prefix: '[yangtools]'
418 name: 'yangtools-clm-{stream}'
425 daysToKeep: '{build-days-to-keep}'
426 numToKeep: '{build-num-to-keep}'
427 artifactDaysToKeep: '{build-artifact-days-to-keep}'
428 artifactNumToKeep: '{build-artifact-num-to-keep}'
436 credentials-id: '{ssh-credentials}'
442 - ssh-agent-credentials:
444 - '{ssh-credentials}'
450 - wipe-org-opendaylight-repo
451 - provide-maven-settings:
452 global-settings-file: '{odl-global-settings}'
453 settings-file: '{yangtools-settings}'
456 maven-name: '{mvn33}'
458 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'
459 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
460 settings: '{yangtools-settings}'
461 global-settings: '{odl-global-settings}'
464 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
466 application-name: yangtools
469 - email-notification:
470 email-prefix: '[yangtools]'
473 name: 'yangtools-validate-autorelease-{stream}'
474 disabled: '{obj:disable_autorelease}'
482 daysToKeep: '{build-days-to-keep}'
483 numToKeep: '{build-num-to-keep}'
484 artifactDaysToKeep: '{build-artifact-days-to-keep}'
485 artifactNumToKeep: '{build-artifact-num-to-keep}'
492 - autorelease-release-tag:
493 release-tag: 'validate'
494 - autorelease-release-branch:
495 release-branch: '{branch}'
496 - autorelease-release-datestamp:
501 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
510 - autorelease-build-timeout
511 - ssh-agent-credentials:
513 - '{ssh-credentials}'
517 server-name: 'OpenDaylight'
519 - patchset-created-event:
520 exclude-drafts: 'false'
521 exclude-trivial-rebase: 'false'
522 exclude-no-code-change: 'false'
523 - draft-published-event
524 - comment-added-contains-event:
525 comment-contains-value: 'recheck'
526 - comment-added-contains-event:
527 comment-contains-value: 'reverify'
528 - comment-added-contains-event:
529 comment-contains-value: 'revalidate'
531 - project-compare-type: 'ANT'
532 project-pattern: 'yangtools'
534 - branch-compare-type: 'ANT'
535 branch-pattern: '**/{branch}'
538 - wipe-org-opendaylight-repo
539 - jacoco-nojava-workaround
540 - autorelease-checkout-gerrit-patch
541 - autorelease-generate-taglist
542 - autorelease-generate-release-patches
544 maven-version: '{mvn33}'
545 pom: validate-pom.xml
546 goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
549 settings: '{autorelease-settings}'
550 global-settings: '{odl-global-settings}'
553 maven-name: '{mvn33}'
555 goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
556 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
557 settings: '{autorelease-settings}'
558 global-settings: '{odl-global-settings}'
559 automatic-archiving: false
560 post-step-run-condition: UNSTABLE
563 - shell: "./scripts/list-project-dependencies.sh"
564 - autorelease-sys-stats
569 - email-notification:
570 email-prefix: '[autorelease] [yangtools]'