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 - 'infrautils-verify-{stream}'
10 - 'infrautils-merge-{stream}'
11 - 'infrautils-periodic-{stream}'
12 - 'infrautils-distribution-{stream}'
13 - 'infrautils-distribution-check-{stream}'
14 - 'infrautils-integration-{stream}'
16 - 'infrautils-clm-{stream}'
17 - 'infrautils-validate-autorelease-{stream}'
20 # stream: release stream (eg. stable-lithium or beryllium)
21 # branch: git branch (eg. stable/lithium or master)
28 disable_autorelease: False
29 disable_distribution_check: False
33 # For the Job templates below replace instances of:
34 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
35 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
36 # MAVEN_GOALS with your maven goals to build
37 # MAVEN_OPTS with your maven options to build
40 name: 'infrautils-verify-{stream}'
42 # Job template for ODL verify jobs
44 # The purpose of this job template is to setup a ODL verify job
47 # stream: release stream (eg. stable-lithium or beryllium)
48 # branch: git branch (eg. stable/lithium or master)
65 daysToKeep: '{build-days-to-keep}'
66 numToKeep: '{build-num-to-keep}'
67 artifactDaysToKeep: '{build-artifact-days-to-keep}'
68 artifactNumToKeep: '{build-artifact-num-to-keep}'
75 - gerrit-refspec-parameter:
76 refspec: 'refs/heads/{branch}'
80 credentials-id: '{ssh-credentials}'
81 refspec: '$GERRIT_REFSPEC'
82 choosing-strategy: 'gerrit'
86 - ssh-agent-credentials:
91 - gerrit-trigger-patch-submitted:
96 - wipe-org-opendaylight-repo
97 - jacoco-nojava-workaround
98 - provide-maven-settings:
99 global-settings-file: '{odl-global-settings}'
100 settings-file: '{infrautils-settings}'
102 maven-version: '{mvn33}'
104 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dstream={stream}'
106 - '-Xmx1024m -XX:MaxPermSize=256m'
107 settings: '{infrautils-settings}'
108 global-settings: '{odl-global-settings}'
112 artifacts: '**/target/surefire-reports/*-output.txt, '
114 - email-notification:
115 email-prefix: '[infrautils]'
119 name: 'infrautils-merge-{stream}'
121 # Job template for ODL merge jobs
123 # The purpose of this job template is to setup a ODL merge job
124 # and deploy artifacts to Nexus.
126 # Required Variables:
127 # stream: release stream (eg. stable-lithium or beryllium)
128 # branch: git branch (eg. stable/lithium or master)
137 artifactDaysToKeep: '{build-artifact-days-to-keep}'
138 artifactNumToKeep: '{build-artifact-num-to-keep}'
145 - gerrit-refspec-parameter:
146 refspec: 'refs/heads/{branch}'
149 - gerrit-trigger-scm:
150 credentials-id: '{ssh-credentials}'
152 choosing-strategy: 'default'
156 - ssh-agent-credentials:
158 - '{ssh-credentials}'
162 - gerrit-trigger-patch-merged:
167 - wipe-org-opendaylight-repo
168 - jacoco-nojava-workaround
169 - provide-maven-settings:
170 global-settings-file: '{odl-global-settings}'
171 settings-file: '{infrautils-settings}'
174 maven-name: '{mvn33}'
176 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}'
177 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
178 settings: '{infrautils-settings}'
179 global-settings: '{odl-global-settings}'
180 post-step-run-condition: UNSTABLE
184 condition-kind: file-exists
185 condition-filename: deploy-site.xml
186 condition-basedir: workspace
188 # The strategy here is intentional to run Maven site:deploy twice
189 # once using regular pom.xml to produce a staged-site which is
190 # then used by deploy-site.xml to push to Nexus. This is a
191 # workaround to Maven Site's default linking code which creates
192 # incorrect URLs for sites due to auto-detection assuming your
193 # project is configured in a certain way which ODL is not.
196 maven-version: '{mvn33}'
198 goals: 'site:deploy -Dstream={stream}'
201 settings: '{infrautils-settings}'
202 global-settings: '{odl-global-settings}'
204 maven-version: '{mvn33}'
206 goals: 'site:deploy -Dstream={stream}'
209 settings: '{infrautils-settings}'
210 global-settings: '{odl-global-settings}'
217 artifacts: '**/target/surefire-reports/*-output.txt, '
218 - email-notification:
219 email-prefix: '[infrautils]'
223 deploy-unstable: false
227 name: 'infrautils-periodic-{stream}'
230 # Job template for periodic builders
232 # The purpose of this job template is to setup a periodic
235 # Required Variables:
236 # stream: release stream (eg. stable-lithium or beryllium)
237 # branch: git branch (eg. stable/lithium or master)
246 artifactDaysToKeep: '{build-artifact-days-to-keep}'
247 artifactNumToKeep: '{build-artifact-num-to-keep}'
255 credentials-id: '{ssh-credentials}'
261 - ssh-agent-credentials:
263 - '{ssh-credentials}'
269 - wipe-org-opendaylight-repo
270 - jacoco-nojava-workaround
271 - provide-maven-settings:
272 global-settings-file: '{odl-global-settings}'
273 settings-file: '{infrautils-settings}'
276 maven-name: '{mvn33}'
278 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
279 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
280 settings: '{infrautils-settings}'
281 global-settings: '{odl-global-settings}'
287 - email-notification:
288 email-prefix: '[infrautils]'
292 name: 'infrautils-distribution-{stream}'
294 # Required variables:
295 # stream: release stream (eg. stable-lithium or beryllium)
296 # branch: git branch (eg. stable/lithium or master)
303 daysToKeep: '{build-days-to-keep}'
304 numToKeep: '{build-num-to-keep}'
305 artifactDaysToKeep: '{build-artifact-days-to-keep}'
306 artifactNumToKeep: '{build-artifact-num-to-keep}'
310 project: 'integration/distribution'
314 credentials-id: '{ssh-credentials}'
320 - ssh-agent-credentials:
322 - '{ssh-credentials}'
326 jobs: '{project}-merge-{stream}'
330 - wipe-org-opendaylight-repo
331 - provide-maven-settings:
332 global-settings-file: '{odl-global-settings}'
333 settings-file: '{infrautils-settings}'
336 maven-name: '{mvn33}'
338 goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
339 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
340 settings: '{integration-settings}'
341 global-settings: '{odl-global-settings}'
344 - email-notification:
345 email-prefix: '[{project}]'
349 deploy-unstable: false
351 # Template: integration-patch-distribution-{stream}
352 # Goal: Build a patch and make sure the distribution can deploy with this change
353 # Operation: This job template builds a patch, creates a distribution containing
354 # the patch, and triggers the distribution deploy test
357 name: 'infrautils-distribution-check-{stream}'
358 disabled: '{obj:disable_distribution_check}'
368 artifactDaysToKeep: '{build-artifact-days-to-keep}'
369 artifactNumToKeep: '{build-artifact-num-to-keep}'
372 - gerrit-project-parameter:
374 - gerrit-refspec-parameter:
378 - integration-distribution-git-url
381 - integration-gerrit-scm:
382 credentials-id: '{ssh-credentials}'
383 basedir: '$GERRIT_PROJECT'
384 refspec: '$GERRIT_REFSPEC'
386 - integration-distribution-scm:
387 credentials-id: '{ssh-credentials}'
392 - ssh-agent-credentials:
394 - '{ssh-credentials}'
398 server-name: 'OpenDaylight'
400 - patchset-created-event:
401 exclude-drafts: 'true'
402 exclude-trivial-rebase: 'false'
403 exclude-no-code-change: 'true'
404 - draft-published-event
405 - comment-added-contains-event:
406 comment-contains-value: 'test-distribution'
407 - comment-added-contains-event:
408 comment-contains-value: 'reverify'
409 - comment-added-contains-event:
410 comment-contains-value: 'recheck'
412 - project-compare-type: 'ANT'
413 project-pattern: '{name}'
415 - branch-compare-type: 'ANT'
416 branch-pattern: '**/{branch}'
424 - wipe-org-opendaylight-repo
426 maven-version: '{mvn33}'
427 pom: '$GERRIT_PROJECT/pom.xml'
428 goals: 'clean install -B -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true -Dmaven.site.skip=true -DgenerateReports=false -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}'
430 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
431 settings: '{infrautils-settings}'
432 global-settings: '{odl-global-settings}'
435 maven-name: '{mvn33}'
436 root-pom: 'distribution/pom.xml'
437 goals: 'clean install -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
438 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
439 settings: '{infrautils-settings}'
440 global-settings: '{odl-global-settings}'
441 ignore-upstream-changes: true
442 post-step-run-condition: 'SUCCESS'
445 - integration-distribution-check
449 artifacts: 'karaf.log'
451 artifacts: 'karaf_console.log'
452 - email-notification:
453 email-prefix: '[infrautils]'
456 name: 'infrautils-integration-{stream}'
459 # Job template for ODL integration verify jobs
461 # This is similar to a normal verify job, but it runs
462 # when a project that's a dependency of your project
463 # is successfully built.
465 # Required Variables:
466 # stream: release stream (eg. stable-lithium or beryllium)
467 # branch: git branch (eg. stable/lithium or master)
474 daysToKeep: '{build-days-to-keep}'
475 numToKeep: '{build-num-to-keep}'
476 artifactDaysToKeep: '{build-artifact-days-to-keep}'
477 artifactNumToKeep: '{build-artifact-num-to-keep}'
485 credentials-id: '{ssh-credentials}'
491 - ssh-agent-credentials:
493 - '{ssh-credentials}'
497 jobs: 'odlparent-merge-{stream}'
501 - wipe-org-opendaylight-repo
502 - jacoco-nojava-workaround
503 - provide-maven-settings:
504 global-settings-file: '{odl-global-settings}'
505 settings-file: '{infrautils-settings}'
508 maven-name: '{mvn33}'
510 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
511 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
512 settings: '{infrautils-settings}'
513 global-settings: '{odl-global-settings}'
519 - email-notification:
520 email-prefix: '[infrautils] [odlparent]'
524 name: 'infrautils-sonar'
534 artifactDaysToKeep: '1'
535 artifactNumToKeep: '1'
543 credentials-id: '{ssh-credentials}'
549 - ssh-agent-credentials:
551 - '{ssh-credentials}'
555 - gerrit-trigger-patch-sonar:
559 - wipe-org-opendaylight-repo
560 - jacoco-nojava-workaround
561 - provide-maven-settings:
562 global-settings-file: '{odl-global-settings}'
563 settings-file: '{infrautils-settings}'
566 maven-name: '{mvn33}'
568 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dsonar'
569 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
570 settings: '{infrautils-settings}'
571 global-settings: '{odl-global-settings}'
579 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
580 - email-notification:
581 email-prefix: '[infrautils]'
585 name: 'infrautils-clm-{stream}'
593 daysToKeep: '{build-days-to-keep}'
594 numToKeep: '{build-num-to-keep}'
595 artifactDaysToKeep: '{build-artifact-days-to-keep}'
596 artifactNumToKeep: '{build-artifact-num-to-keep}'
604 credentials-id: '{ssh-credentials}'
610 - ssh-agent-credentials:
612 - '{ssh-credentials}'
618 - wipe-org-opendaylight-repo
619 - provide-maven-settings:
620 global-settings-file: '{odl-global-settings}'
621 settings-file: '{infrautils-settings}'
624 maven-name: '{mvn33}'
626 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'
627 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
628 settings: '{infrautils-settings}'
629 global-settings: '{odl-global-settings}'
632 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
634 application-name: infrautils
637 - email-notification:
638 email-prefix: '[infrautils]'
641 name: 'infrautils-validate-autorelease-{stream}'
642 disabled: '{obj:disable_autorelease}'
650 daysToKeep: '{build-days-to-keep}'
651 numToKeep: '{build-num-to-keep}'
652 artifactDaysToKeep: '{build-artifact-days-to-keep}'
653 artifactNumToKeep: '{build-artifact-num-to-keep}'
660 - autorelease-release-tag:
661 release-tag: 'validate'
662 - autorelease-release-branch:
663 release-branch: '{branch}'
664 - autorelease-release-datestamp:
668 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
669 description: "Autorelease clone URL"
683 - autorelease-build-timeout
684 - ssh-agent-credentials:
686 - '{ssh-credentials}'
690 server-name: 'OpenDaylight'
692 - patchset-created-event:
693 exclude-drafts: 'false'
694 exclude-trivial-rebase: 'false'
695 exclude-no-code-change: 'false'
696 - draft-published-event
697 - comment-added-contains-event:
698 comment-contains-value: 'recheck'
699 - comment-added-contains-event:
700 comment-contains-value: 'reverify'
701 - comment-added-contains-event:
702 comment-contains-value: 'revalidate'
704 - project-compare-type: 'ANT'
705 project-pattern: 'infrautils'
707 - branch-compare-type: 'ANT'
708 branch-pattern: '**/{branch}'
714 - wipe-org-opendaylight-repo
715 - jacoco-nojava-workaround
716 - autorelease-checkout-gerrit-patch
717 - autorelease-generate-release-patches
719 maven-version: '{mvn33}'
720 pom: validate-pom.xml
721 goals: 'clean install -B -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
724 settings: '{autorelease-settings}'
725 global-settings: '{odl-global-settings}'
728 maven-name: '{mvn33}'
730 goals: 'clean validate -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
731 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
732 settings: '{autorelease-settings}'
733 global-settings: '{odl-global-settings}'
734 automatic-archiving: false
735 post-step-run-condition: UNSTABLE
738 - autorelease-sys-stats
741 - email-notification:
742 email-prefix: '[autorelease] [infrautils]'