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 - 'genius-verify-{stream}'
10 - 'genius-merge-{stream}'
11 - 'genius-periodic-{stream}'
12 - 'genius-distribution-{stream}'
13 - 'genius-distribution-check-{stream}'
14 - 'genius-integration-{stream}'
16 - 'genius-clm-{stream}'
17 - 'genius-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: 'genius-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}'
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: 'genius-settings'
102 maven-version: '{mvn33}'
104 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dstream={stream}'
106 - '-Xmx1024m -XX:MaxPermSize=256m'
107 settings: 'genius-settings'
109 global-settings: 'odl-global-settings'
110 global-settings-type: cfp
114 artifacts: '**/target/surefire-reports/*-output.txt, '
116 - email-notification:
117 email-prefix: '[genius]'
120 maven-version: '{mvn33}'
123 name: 'genius-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)
141 artifactDaysToKeep: '{build-artifact-days-to-keep}'
142 artifactNumToKeep: '{build-artifact-num-to-keep}'
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: 'genius-settings'
178 maven-name: '{mvn33}'
180 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dmerge -Dstream={stream}'
181 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
182 settings: 'genius-settings'
184 global-settings: 'odl-global-settings'
185 global-settings-type: cfp
186 post-step-run-condition: UNSTABLE
190 condition-kind: file-exists
191 condition-filename: deploy-site.xml
192 condition-basedir: workspace
194 # The strategy here is intentional to run Maven site:deploy twice
195 # once using regular pom.xml to produce a staged-site which is
196 # then used by deploy-site.xml to push to Nexus. This is a
197 # workaround to Maven Site's default linking code which creates
198 # incorrect URLs for sites due to auto-detection assuming your
199 # project is configured in a certain way which ODL is not.
202 maven-version: '{mvn33}'
204 goals: 'site:deploy -V -B -Dstream={stream}'
207 settings: 'genius-settings'
209 global-settings: 'odl-global-settings'
210 global-settings-type: cfp
212 maven-version: '{mvn33}'
214 goals: 'site:deploy -V -B -Dstream={stream}'
217 settings: 'genius-settings'
219 global-settings: 'odl-global-settings'
220 global-settings-type: cfp
227 artifacts: '**/target/surefire-reports/*-output.txt, '
228 - email-notification:
229 email-prefix: '[genius]'
233 deploy-unstable: false
236 maven-version: '{mvn33}'
239 name: 'genius-periodic-{stream}'
242 # Job template for periodic builders
244 # The purpose of this job template is to setup a periodic
247 # Required Variables:
248 # stream: release stream (eg. stable-lithium or beryllium)
249 # branch: git branch (eg. stable/lithium or master)
258 artifactDaysToKeep: '{build-artifact-days-to-keep}'
259 artifactNumToKeep: '{build-artifact-num-to-keep}'
267 credentials-id: '{ssh-credentials}'
273 - ssh-agent-credentials:
275 - '{ssh-credentials}'
281 - wipe-org-opendaylight-repo
282 - jacoco-nojava-workaround
283 - provide-maven-settings:
284 global-settings-file: 'odl-global-settings'
285 settings-file: 'genius-settings'
288 maven-name: '{mvn33}'
290 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
291 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
292 settings: 'genius-settings'
294 global-settings: 'odl-global-settings'
295 global-settings-type: cfp
301 - email-notification:
302 email-prefix: '[genius]'
305 maven-version: '{mvn33}'
308 name: 'genius-distribution-{stream}'
310 # Required variables:
311 # stream: release stream (eg. stable-lithium or beryllium)
312 # branch: git branch (eg. stable/lithium or master)
319 daysToKeep: '{build-days-to-keep}'
320 numToKeep: '{build-num-to-keep}'
321 artifactDaysToKeep: '{build-artifact-days-to-keep}'
322 artifactNumToKeep: '{build-artifact-num-to-keep}'
326 project: 'integration/distribution'
330 credentials-id: '{ssh-credentials}'
336 - ssh-agent-credentials:
338 - '{ssh-credentials}'
342 jobs: '{project}-merge-{stream}'
346 - wipe-org-opendaylight-repo
347 - provide-maven-settings:
348 global-settings-file: 'odl-global-settings'
349 settings-file: 'genius-settings'
352 maven-name: '{mvn33}'
354 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
355 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
356 settings: 'integration-distribution-settings'
358 global-settings: 'odl-global-settings'
359 global-settings-type: cfp
362 - email-notification:
363 email-prefix: '[{project}]'
367 deploy-unstable: false
369 maven-version: '{mvn33}'
371 # Template: integration-patch-distribution-{stream}
372 # Goal: Build a patch and make sure the distribution can deploy with this change
373 # Operation: This job template builds a patch, creates a distribution containing
374 # the patch, and triggers the distribution deploy test
377 name: 'genius-distribution-check-{stream}'
378 disabled: '{obj:disable_distribution_check}'
386 daysToKeep: '{build-days-to-keep}'
387 numToKeep: '{build-num-to-keep}'
388 artifactDaysToKeep: '{build-artifact-days-to-keep}'
389 artifactNumToKeep: '{build-artifact-num-to-keep}'
395 refspec: 'refs/heads/{branch}'
398 - integration-distribution-git-url
401 - integration-gerrit-scm:
402 credentials-id: '{ssh-credentials}'
403 basedir: '$GERRIT_PROJECT'
404 refspec: '$GERRIT_REFSPEC'
406 - integration-distribution-scm:
407 credentials-id: '{ssh-credentials}'
412 - ssh-agent-credentials:
414 - '{ssh-credentials}'
418 server-name: 'OpenDaylight'
420 - patchset-created-event:
421 exclude-drafts: 'true'
422 exclude-trivial-rebase: 'false'
423 exclude-no-code-change: 'true'
424 - draft-published-event
425 - comment-added-contains-event:
426 comment-contains-value: 'test-distribution'
427 - comment-added-contains-event:
428 comment-contains-value: 'reverify'
429 - comment-added-contains-event:
430 comment-contains-value: 'recheck'
432 - project-compare-type: 'ANT'
433 project-pattern: '{name}'
435 - branch-compare-type: 'ANT'
436 branch-pattern: '**/{branch}'
444 - wipe-org-opendaylight-repo
446 maven-version: '{mvn33}'
447 pom: '$GERRIT_PROJECT/pom.xml'
448 goals: 'clean install -V -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}'
450 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
451 settings: 'genius-settings'
453 global-settings: 'odl-global-settings'
454 global-settings-type: cfp
457 maven-name: '{mvn33}'
458 root-pom: 'distribution/pom.xml'
459 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
460 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
461 settings: 'genius-settings'
463 global-settings: 'odl-global-settings'
464 global-settings-type: cfp
465 ignore-upstream-changes: true
466 post-step-run-condition: 'SUCCESS'
469 - integration-distribution-check
473 artifacts: 'karaf.log'
475 artifacts: 'karaf_console.log'
476 - email-notification:
477 email-prefix: '[genius]'
479 maven-version: '{mvn33}'
482 name: 'genius-integration-{stream}'
485 # Job template for ODL integration verify jobs
487 # This is similar to a normal verify job, but it runs
488 # when a project that's a dependency of your project
489 # is successfully built.
491 # Required Variables:
492 # stream: release stream (eg. stable-lithium or beryllium)
493 # branch: git branch (eg. stable/lithium or master)
500 daysToKeep: '{build-days-to-keep}'
501 numToKeep: '{build-num-to-keep}'
502 artifactDaysToKeep: '{build-artifact-days-to-keep}'
503 artifactNumToKeep: '{build-artifact-num-to-keep}'
511 credentials-id: '{ssh-credentials}'
517 - ssh-agent-credentials:
519 - '{ssh-credentials}'
523 jobs: 'controller-merge-{stream},yangtools-merge-{stream},odlparent-merge-{stream},openflowplugin-merge-{stream},neutron-merge-{stream}'
527 - wipe-org-opendaylight-repo
528 - jacoco-nojava-workaround
529 - provide-maven-settings:
530 global-settings-file: 'odl-global-settings'
531 settings-file: 'genius-settings'
534 maven-name: '{mvn33}'
536 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
537 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
538 settings: 'genius-settings'
540 global-settings: 'odl-global-settings'
541 global-settings-type: cfp
547 - email-notification:
548 email-prefix: '[genius] [controller] [yangtools] [odlparent] [openflowplugin] [neutron]'
551 maven-version: '{mvn33}'
564 artifactDaysToKeep: '1'
565 artifactNumToKeep: '1'
573 credentials-id: '{ssh-credentials}'
579 - ssh-agent-credentials:
581 - '{ssh-credentials}'
585 - gerrit-trigger-patch-sonar:
589 - wipe-org-opendaylight-repo
590 - jacoco-nojava-workaround
591 - provide-maven-settings:
592 global-settings-file: 'odl-global-settings'
593 settings-file: 'genius-settings'
596 maven-name: '{mvn33}'
598 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dsonar'
599 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
600 settings: 'genius-settings'
602 global-settings: 'odl-global-settings'
603 global-settings-type: cfp
611 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
612 - email-notification:
613 email-prefix: '[genius]'
616 maven-version: '{mvn33}'
619 name: 'genius-clm-{stream}'
627 daysToKeep: '{build-days-to-keep}'
628 numToKeep: '{build-num-to-keep}'
629 artifactDaysToKeep: '{build-artifact-days-to-keep}'
630 artifactNumToKeep: '{build-artifact-num-to-keep}'
638 credentials-id: '{ssh-credentials}'
644 - ssh-agent-credentials:
646 - '{ssh-credentials}'
652 - wipe-org-opendaylight-repo
653 - provide-maven-settings:
654 global-settings-file: 'odl-global-settings'
655 settings-file: 'genius-settings'
658 maven-name: '{mvn33}'
660 goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -V -B -Djenkins -DskipTests=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
661 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
662 settings: 'genius-settings'
664 global-settings: 'odl-global-settings'
665 global-settings-type: cfp
668 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
670 application-name: genius
673 - email-notification:
674 email-prefix: '[genius]'
676 maven-version: '{mvn33}'
679 name: 'genius-validate-autorelease-{stream}'
680 disabled: '{obj:disable_autorelease}'
688 daysToKeep: '{build-days-to-keep}'
689 numToKeep: '{build-num-to-keep}'
690 artifactDaysToKeep: '{build-artifact-days-to-keep}'
691 artifactNumToKeep: '{build-artifact-num-to-keep}'
699 refspec: 'refs/heads/{branch}'
700 - autorelease-release-tag:
701 release-tag: 'validate'
702 - autorelease-release-branch:
703 release-branch: '{branch}'
706 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
707 description: "Autorelease clone URL"
712 credentials-id: '{ssh-credentials}'
722 - autorelease-build-timeout
723 - ssh-agent-credentials:
725 - '{ssh-credentials}'
729 server-name: 'OpenDaylight'
731 - patchset-created-event:
732 exclude-drafts: 'true'
733 exclude-trivial-rebase: 'false'
734 exclude-no-code-change: 'true'
735 - draft-published-event
736 - comment-added-contains-event:
737 comment-contains-value: 'recheck'
738 - comment-added-contains-event:
739 comment-contains-value: 'reverify'
740 - comment-added-contains-event:
741 comment-contains-value: 'revalidate'
743 - project-compare-type: 'ANT'
744 project-pattern: 'genius'
746 - branch-compare-type: 'ANT'
747 branch-pattern: '**/{branch}'
753 - wipe-org-opendaylight-repo
754 - jacoco-nojava-workaround
755 - autorelease-checkout-gerrit-patch
756 - autorelease-generate-release-patches
758 maven-version: '{mvn33}'
759 pom: validate-pom.xml
760 goals: 'clean install -V -B -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
763 settings: 'autorelease-settings'
765 global-settings: 'odl-global-settings'
766 global-settings-type: cfp
769 maven-name: '{mvn33}'
771 goals: 'clean validate -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
772 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
773 settings: 'autorelease-settings'
775 global-settings: 'odl-global-settings'
776 global-settings-type: cfp
777 automatic-archiving: false
778 post-step-run-condition: UNSTABLE
781 - autorelease-sys-stats
784 - email-notification:
785 email-prefix: '[autorelease] [genius]'
787 maven-version: '{mvn33}'