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 - 'persistence-verify-{stream}'
10 - 'persistence-merge-{stream}'
11 - 'persistence-periodic-{stream}'
12 - 'persistence-distribution-{stream}'
13 - 'persistence-integration-{stream}'
15 - 'persistence-clm-{stream}'
16 - 'persistence-validate-autorelease-{stream}'
19 # stream: release stream (eg. stable-lithium or beryllium)
20 # branch: git branch (eg. stable/lithium or master)
28 disable_autorelease: True
30 branch: 'stable/lithium'
35 disable_autorelease: True
37 project: 'persistence'
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: 'persistence-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: '{persistence-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: '{persistence-settings}'
114 global-settings: '{odl-global-settings}'
118 - email-notification:
119 email-prefix: '[persistence]'
123 name: 'persistence-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}'
166 - gerrit-trigger-patch-merged:
171 - wipe-org-opendaylight-repo
172 - jacoco-nojava-workaround
173 - provide-maven-settings:
174 global-settings-file: '{odl-global-settings}'
175 settings-file: '{persistence-settings}'
178 maven-name: '{mvn33}'
180 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}'
181 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
182 settings: '{persistence-settings}'
183 global-settings: '{odl-global-settings}'
184 post-step-run-condition: UNSTABLE
188 condition-kind: file-exists
189 condition-filename: deploy-site.xml
190 condition-basedir: workspace
192 # The strategy here is intentional to run Maven site:deploy twice
193 # once using regular pom.xml to produce a staged-site which is
194 # then used by deploy-site.xml to push to Nexus. This is a
195 # workaround to Maven Site's default linking code which creates
196 # incorrect URLs for sites due to auto-detection assuming your
197 # project is configured in a certain way which ODL is not.
200 maven-version: '{mvn33}'
202 goals: 'site:deploy -Dstream={stream}'
205 settings: '{persistence-settings}'
206 global-settings: '{odl-global-settings}'
208 maven-version: '{mvn33}'
210 goals: 'site:deploy -Dstream={stream}'
213 settings: '{persistence-settings}'
214 global-settings: '{odl-global-settings}'
221 artifacts: '**/target/surefire-reports/*-output.txt, '
222 - email-notification:
223 email-prefix: '[persistence]'
227 deploy-unstable: false
231 name: 'persistence-periodic-{stream}'
233 # Job template for periodic builders
235 # The purpose of this job template is to setup a periodic
238 # Required Variables:
239 # stream: release stream (eg. stable-lithium or beryllium)
240 # branch: git branch (eg. stable/lithium or master)
247 daysToKeep: '{build-days-to-keep}'
248 numToKeep: '{build-num-to-keep}'
249 artifactDaysToKeep: '{build-artifact-days-to-keep}'
250 artifactNumToKeep: '{build-artifact-num-to-keep}'
258 credentials-id: '{ssh-credentials}'
264 - ssh-agent-credentials:
266 - '{ssh-credentials}'
272 - wipe-org-opendaylight-repo
273 - jacoco-nojava-workaround
274 - provide-maven-settings:
275 global-settings-file: '{odl-global-settings}'
276 settings-file: '{persistence-settings}'
279 maven-name: '{mvn33}'
281 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
282 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
283 settings: '{persistence-settings}'
284 global-settings: '{odl-global-settings}'
290 - email-notification:
291 email-prefix: '[persistence]'
295 name: 'persistence-distribution-{stream}'
297 # Required variables:
298 # stream: release stream (eg. stable-lithium or beryllium)
299 # branch: git branch (eg. stable/lithium or master)
306 daysToKeep: '{build-days-to-keep}'
307 numToKeep: '{build-num-to-keep}'
308 artifactDaysToKeep: '{build-artifact-days-to-keep}'
309 artifactNumToKeep: '{build-artifact-num-to-keep}'
313 project: 'integration/distribution'
317 credentials-id: '{ssh-credentials}'
323 - ssh-agent-credentials:
325 - '{ssh-credentials}'
329 jobs: '{project}-merge-{stream}'
333 - wipe-org-opendaylight-repo
334 - provide-maven-settings:
335 global-settings-file: '{odl-global-settings}'
336 settings-file: '{persistence-settings}'
339 maven-name: '{mvn33}'
341 goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
342 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
343 settings: '{integration-settings}'
344 global-settings: '{odl-global-settings}'
347 - email-notification:
348 email-prefix: '[{project}]'
352 deploy-unstable: false
355 name: 'persistence-integration-{stream}'
358 # Job template for ODL integration verify jobs
360 # This is similar to a normal verify job, but it runs
361 # when a project that's a dependency of your project
362 # is successfully built.
364 # Required Variables:
365 # stream: release stream (eg. stable-lithium or beryllium)
366 # branch: git branch (eg. stable/lithium or master)
373 daysToKeep: '{build-days-to-keep}'
374 numToKeep: '{build-num-to-keep}'
375 artifactDaysToKeep: '{build-artifact-days-to-keep}'
376 artifactNumToKeep: '{build-artifact-num-to-keep}'
384 credentials-id: '{ssh-credentials}'
390 - ssh-agent-credentials:
392 - '{ssh-credentials}'
396 jobs: 'odlparent-merge-{stream}'
400 - wipe-org-opendaylight-repo
401 - jacoco-nojava-workaround
402 - provide-maven-settings:
403 global-settings-file: '{odl-global-settings}'
404 settings-file: '{persistence-settings}'
407 maven-name: '{mvn33}'
409 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
410 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
411 settings: '{persistence-settings}'
412 global-settings: '{odl-global-settings}'
418 - email-notification:
419 email-prefix: '[persistence] [odlparent]'
423 name: 'persistence-sonar'
432 artifactDaysToKeep: '1'
433 artifactNumToKeep: '1'
441 credentials-id: '{ssh-credentials}'
447 - ssh-agent-credentials:
449 - '{ssh-credentials}'
453 - gerrit-trigger-patch-sonar:
457 - wipe-org-opendaylight-repo
458 - jacoco-nojava-workaround
459 - provide-maven-settings:
460 global-settings-file: '{odl-global-settings}'
461 settings-file: '{persistence-settings}'
464 maven-name: '{mvn33}'
466 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dsonar'
467 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
468 settings: '{persistence-settings}'
469 global-settings: '{odl-global-settings}'
477 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
478 - email-notification:
479 email-prefix: '[persistence]'
483 name: 'persistence-clm-{stream}'
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}'
501 credentials-id: '{ssh-credentials}'
507 - ssh-agent-credentials:
509 - '{ssh-credentials}'
515 - wipe-org-opendaylight-repo
516 - provide-maven-settings:
517 global-settings-file: '{odl-global-settings}'
518 settings-file: '{persistence-settings}'
521 maven-name: '{mvn33}'
523 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'
524 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
525 settings: '{persistence-settings}'
526 global-settings: '{odl-global-settings}'
529 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
531 application-name: persistence
534 - email-notification:
535 email-prefix: '[persistence]'
538 name: 'persistence-validate-autorelease-{stream}'
539 disabled: '{obj:disable_autorelease}'
547 daysToKeep: '{build-days-to-keep}'
548 numToKeep: '{build-num-to-keep}'
549 artifactDaysToKeep: '{build-artifact-days-to-keep}'
550 artifactNumToKeep: '{build-artifact-num-to-keep}'
557 - autorelease-release-tag:
558 release-tag: 'validate'
559 - autorelease-release-branch:
560 release-branch: '{branch}'
561 - autorelease-release-datestamp:
566 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
575 - autorelease-build-timeout
576 - ssh-agent-credentials:
578 - '{ssh-credentials}'
582 server-name: 'OpenDaylight'
584 - patchset-created-event:
585 exclude-drafts: 'false'
586 exclude-trivial-rebase: 'false'
587 exclude-no-code-change: 'false'
588 - draft-published-event
589 - comment-added-contains-event:
590 comment-contains-value: 'recheck'
591 - comment-added-contains-event:
592 comment-contains-value: 'reverify'
593 - comment-added-contains-event:
594 comment-contains-value: 'revalidate'
596 - project-compare-type: 'ANT'
597 project-pattern: 'persistence'
599 - branch-compare-type: 'ANT'
600 branch-pattern: '**/{branch}'
603 - wipe-org-opendaylight-repo
604 - jacoco-nojava-workaround
605 - autorelease-checkout-gerrit-patch
606 - autorelease-generate-taglist
607 - autorelease-generate-release-patches
609 maven-version: '{mvn33}'
610 pom: validate-pom.xml
611 goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
614 settings: '{autorelease-settings}'
615 global-settings: '{odl-global-settings}'
618 maven-name: '{mvn33}'
620 goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
621 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
622 settings: '{autorelease-settings}'
623 global-settings: '{odl-global-settings}'
624 automatic-archiving: false
625 post-step-run-condition: UNSTABLE
628 - shell: "./scripts/list-project-dependencies.sh"
629 - autorelease-sys-stats
634 - email-notification:
635 email-prefix: '[autorelease] [persistence]'