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
27 disable_distribution_check: False
29 branch: 'stable/beryllium'
34 disable_autorelease: False
35 disable_distribution_check: False
37 branch: 'stable/lithium'
42 disable_autorelease: True
43 disable_distribution_check: True
45 branch: 'stable/helium'
49 disable_autorelease: True
50 disable_distribution_check: True
54 # For the Job templates below replace instances of:
55 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
56 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
57 # MAVEN_GOALS with your maven goals to build
58 # MAVEN_OPTS with your maven options to build
61 name: 'yangtools-merge-{stream}'
63 # Job template for ODL merge jobs
65 # The purpose of this job template is to setup a ODL merge job
66 # and deploy artifacts to Nexus.
69 # stream: release stream (eg. stable-lithium or beryllium)
70 # branch: git branch (eg. stable/lithium or master)
79 artifactDaysToKeep: '{build-artifact-days-to-keep}'
80 artifactNumToKeep: '{build-artifact-num-to-keep}'
87 - gerrit-refspec-parameter:
88 refspec: 'refs/heads/{branch}'
92 credentials-id: '{ssh-credentials}'
94 choosing-strategy: 'default'
98 - ssh-agent-credentials:
100 - '{ssh-credentials}'
104 - gerrit-trigger-patch-merged:
109 - wipe-org-opendaylight-repo
110 - jacoco-nojava-workaround
111 - provide-maven-settings:
112 global-settings-file: '{odl-global-settings}'
113 settings-file: '{yangtools-settings}'
116 maven-name: '{mvn33}'
118 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}'
119 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
120 settings: '{yangtools-settings}'
121 global-settings: '{odl-global-settings}'
122 post-step-run-condition: UNSTABLE
126 condition-kind: file-exists
127 condition-filename: deploy-site.xml
128 condition-basedir: workspace
130 # The strategy here is intentional to run Maven site:deploy twice
131 # once using regular pom.xml to produce a staged-site which is
132 # then used by deploy-site.xml to push to Nexus. This is a
133 # workaround to Maven Site's default linking code which creates
134 # incorrect URLs for sites due to auto-detection assuming your
135 # project is configured in a certain way which ODL is not.
138 maven-version: '{mvn33}'
140 goals: 'site:deploy -Dstream={stream}'
143 settings: '{yangtools-settings}'
144 global-settings: '{odl-global-settings}'
146 maven-version: '{mvn33}'
148 goals: 'site:deploy -Dstream={stream}'
151 settings: '{yangtools-settings}'
152 global-settings: '{odl-global-settings}'
159 artifacts: '**/target/surefire-reports/*-output.txt, '
160 - email-notification:
161 email-prefix: '[yangtools]'
165 deploy-unstable: false
169 name: 'yangtools-periodic-{stream}'
172 # Job template for periodic builders
174 # The purpose of this job template is to setup a periodic
177 # Required Variables:
178 # stream: release stream (eg. stable-lithium or beryllium)
179 # branch: git branch (eg. stable/lithium or master)
188 artifactDaysToKeep: '{build-artifact-days-to-keep}'
189 artifactNumToKeep: '{build-artifact-num-to-keep}'
197 credentials-id: '{ssh-credentials}'
203 - ssh-agent-credentials:
205 - '{ssh-credentials}'
211 - wipe-org-opendaylight-repo
212 - jacoco-nojava-workaround
213 - provide-maven-settings:
214 global-settings-file: '{odl-global-settings}'
215 settings-file: '{yangtools-settings}'
218 maven-name: '{mvn33}'
220 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
221 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
222 settings: '{yangtools-settings}'
223 global-settings: '{odl-global-settings}'
229 - email-notification:
230 email-prefix: '[yangtools]'
234 name: 'yangtools-distribution-{stream}'
236 # Required variables:
237 # stream: release stream (eg. stable-lithium or beryllium)
238 # branch: git branch (eg. stable/lithium or master)
245 daysToKeep: '{build-days-to-keep}'
246 numToKeep: '{build-num-to-keep}'
247 artifactDaysToKeep: '{build-artifact-days-to-keep}'
248 artifactNumToKeep: '{build-artifact-num-to-keep}'
252 project: 'integration/distribution'
256 credentials-id: '{ssh-credentials}'
262 - ssh-agent-credentials:
264 - '{ssh-credentials}'
268 jobs: '{project}-merge-{stream}'
272 - wipe-org-opendaylight-repo
273 - provide-maven-settings:
274 global-settings-file: '{odl-global-settings}'
275 settings-file: '{yangtools-settings}'
278 maven-name: '{mvn33}'
280 goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
281 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
282 settings: '{integration-settings}'
283 global-settings: '{odl-global-settings}'
286 - email-notification:
287 email-prefix: '[{project}]'
291 deploy-unstable: false
294 name: 'yangtools-integration-{stream}'
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'
372 artifactDaysToKeep: '1'
373 artifactNumToKeep: '1'
381 credentials-id: '{ssh-credentials}'
387 - ssh-agent-credentials:
389 - '{ssh-credentials}'
393 - gerrit-trigger-patch-sonar:
397 - wipe-org-opendaylight-repo
398 - jacoco-nojava-workaround
399 - provide-maven-settings:
400 global-settings-file: '{odl-global-settings}'
401 settings-file: '{yangtools-settings}'
404 maven-name: '{mvn33}'
406 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dsonar'
407 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
408 settings: '{yangtools-settings}'
409 global-settings: '{odl-global-settings}'
417 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
418 - email-notification:
419 email-prefix: '[yangtools]'
423 name: 'yangtools-clm-{stream}'
431 daysToKeep: '{build-days-to-keep}'
432 numToKeep: '{build-num-to-keep}'
433 artifactDaysToKeep: '{build-artifact-days-to-keep}'
434 artifactNumToKeep: '{build-artifact-num-to-keep}'
442 credentials-id: '{ssh-credentials}'
448 - ssh-agent-credentials:
450 - '{ssh-credentials}'
456 - wipe-org-opendaylight-repo
457 - provide-maven-settings:
458 global-settings-file: '{odl-global-settings}'
459 settings-file: '{yangtools-settings}'
462 maven-name: '{mvn33}'
464 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'
465 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
466 settings: '{yangtools-settings}'
467 global-settings: '{odl-global-settings}'
470 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
472 application-name: yangtools
475 - email-notification:
476 email-prefix: '[yangtools]'
479 name: 'yangtools-validate-autorelease-{stream}'
480 disabled: '{obj:disable_autorelease}'
488 daysToKeep: '{build-days-to-keep}'
489 numToKeep: '{build-num-to-keep}'
490 artifactDaysToKeep: '{build-artifact-days-to-keep}'
491 artifactNumToKeep: '{build-artifact-num-to-keep}'
498 - autorelease-release-tag:
499 release-tag: 'validate'
500 - autorelease-release-branch:
501 release-branch: '{branch}'
502 - autorelease-release-datestamp:
507 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
516 - autorelease-build-timeout
517 - ssh-agent-credentials:
519 - '{ssh-credentials}'
523 server-name: 'OpenDaylight'
525 - patchset-created-event:
526 exclude-drafts: 'false'
527 exclude-trivial-rebase: 'false'
528 exclude-no-code-change: 'false'
529 - draft-published-event
530 - comment-added-contains-event:
531 comment-contains-value: 'recheck'
532 - comment-added-contains-event:
533 comment-contains-value: 'reverify'
534 - comment-added-contains-event:
535 comment-contains-value: 'revalidate'
537 - project-compare-type: 'ANT'
538 project-pattern: 'yangtools'
540 - branch-compare-type: 'ANT'
541 branch-pattern: '**/{branch}'
544 - wipe-org-opendaylight-repo
545 - jacoco-nojava-workaround
546 - autorelease-checkout-gerrit-patch
547 - autorelease-generate-taglist
548 - autorelease-generate-release-patches
550 maven-version: '{mvn33}'
551 pom: validate-pom.xml
552 goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
555 settings: '{autorelease-settings}'
556 global-settings: '{odl-global-settings}'
559 maven-name: '{mvn33}'
561 goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
562 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
563 settings: '{autorelease-settings}'
564 global-settings: '{odl-global-settings}'
565 automatic-archiving: false
566 post-step-run-condition: UNSTABLE
569 - shell: "./scripts/list-project-dependencies.sh"
570 - autorelease-sys-stats
575 - email-notification:
576 email-prefix: '[autorelease] [yangtools]'