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)
73 refspec: 'refs/heads/{branch}'
77 refspec: '$GERRIT_REFSPEC'
78 choosing-strategy: 'gerrit'
81 - opendaylight-infra-wrappers:
82 build-timeout: '{build-timeout}'
85 - gerrit-trigger-patch-submitted:
90 - jacoco-nojava-workaround
91 - provide-maven-settings:
92 global-settings-file: 'odl-global-settings'
93 settings-file: 'genius-settings'
95 maven-version: '{mvn33}'
97 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dstream={stream}'
99 - '-Xmx1024m -XX:MaxPermSize=256m'
100 settings: 'genius-settings'
102 global-settings: 'odl-global-settings'
103 global-settings-type: cfp
107 artifacts: '**/target/surefire-reports/*-output.txt, '
109 - email-notification:
110 email-prefix: '[genius]'
113 maven-version: '{mvn33}'
116 name: 'genius-merge-{stream}'
118 # Job template for ODL merge jobs
120 # The purpose of this job template is to setup a ODL merge job
121 # and deploy artifacts to Nexus.
123 # Required Variables:
124 # stream: release stream (eg. stable-lithium or beryllium)
125 # branch: git branch (eg. stable/lithium or master)
134 artifactDaysToKeep: '{build-artifact-days-to-keep}'
135 artifactNumToKeep: '{build-artifact-num-to-keep}'
143 refspec: 'refs/heads/{branch}'
146 - gerrit-trigger-scm:
148 choosing-strategy: 'default'
151 - opendaylight-infra-wrappers:
152 build-timeout: '{build-timeout}'
156 - gerrit-trigger-patch-merged:
161 - jacoco-nojava-workaround
162 - provide-maven-settings:
163 global-settings-file: 'odl-global-settings'
164 settings-file: 'genius-settings'
167 maven-name: '{mvn33}'
169 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dmerge -Dstream={stream}'
170 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
171 settings: 'genius-settings'
173 global-settings: 'odl-global-settings'
174 global-settings-type: cfp
175 post-step-run-condition: UNSTABLE
179 condition-kind: file-exists
180 condition-filename: deploy-site.xml
181 condition-basedir: workspace
183 # The strategy here is intentional to run Maven site:deploy twice
184 # once using regular pom.xml to produce a staged-site which is
185 # then used by deploy-site.xml to push to Nexus. This is a
186 # workaround to Maven Site's default linking code which creates
187 # incorrect URLs for sites due to auto-detection assuming your
188 # project is configured in a certain way which ODL is not.
191 maven-version: '{mvn33}'
193 goals: 'site:deploy -V -B -Dstream={stream}'
196 settings: 'genius-settings'
198 global-settings: 'odl-global-settings'
199 global-settings-type: cfp
201 maven-version: '{mvn33}'
203 goals: 'site:deploy -V -B -Dstream={stream}'
206 settings: 'genius-settings'
208 global-settings: 'odl-global-settings'
209 global-settings-type: cfp
216 artifacts: '**/target/surefire-reports/*-output.txt, '
217 - email-notification:
218 email-prefix: '[genius]'
222 deploy-unstable: false
225 maven-version: '{mvn33}'
228 name: 'genius-periodic-{stream}'
231 # Job template for periodic builders
233 # The purpose of this job template is to setup a periodic
236 # Required Variables:
237 # stream: release stream (eg. stable-lithium or beryllium)
238 # branch: git branch (eg. stable/lithium or master)
247 artifactDaysToKeep: '{build-artifact-days-to-keep}'
248 artifactNumToKeep: '{build-artifact-num-to-keep}'
260 - opendaylight-infra-wrappers:
261 build-timeout: '{build-timeout}'
267 - jacoco-nojava-workaround
268 - provide-maven-settings:
269 global-settings-file: 'odl-global-settings'
270 settings-file: 'genius-settings'
273 maven-name: '{mvn33}'
275 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
276 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
277 settings: 'genius-settings'
279 global-settings: 'odl-global-settings'
280 global-settings-type: cfp
286 - email-notification:
287 email-prefix: '[genius]'
290 maven-version: '{mvn33}'
293 name: 'genius-distribution-{stream}'
295 # Required variables:
296 # stream: release stream (eg. stable-lithium or beryllium)
297 # branch: git branch (eg. stable/lithium or master)
304 daysToKeep: '{build-days-to-keep}'
305 numToKeep: '{build-num-to-keep}'
306 artifactDaysToKeep: '{build-artifact-days-to-keep}'
307 artifactNumToKeep: '{build-artifact-num-to-keep}'
311 project: 'integration/distribution'
319 - opendaylight-infra-wrappers:
320 build-timeout: '{build-timeout}'
324 jobs: '{project}-merge-{stream}'
328 - provide-maven-settings:
329 global-settings-file: 'odl-global-settings'
330 settings-file: 'genius-settings'
333 maven-name: '{mvn33}'
335 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
336 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
337 settings: 'integration-distribution-settings'
339 global-settings: 'odl-global-settings'
340 global-settings-type: cfp
343 - email-notification:
344 email-prefix: '[{project}]'
348 deploy-unstable: false
350 maven-version: '{mvn33}'
352 # Template: integration-patch-distribution-{stream}
353 # Goal: Build a patch and make sure the distribution can deploy with this change
354 # Operation: This job template builds a patch, creates a distribution containing
355 # the patch, and triggers the distribution deploy test
358 name: 'genius-distribution-check-{stream}'
359 disabled: '{obj:disable_distribution_check}'
367 daysToKeep: '{build-days-to-keep}'
368 numToKeep: '{build-num-to-keep}'
369 artifactDaysToKeep: '{build-artifact-days-to-keep}'
370 artifactNumToKeep: '{build-artifact-num-to-keep}'
376 refspec: 'refs/heads/{branch}'
379 - integration-distribution-git-url
382 - integration-gerrit-scm:
383 basedir: '$GERRIT_PROJECT'
384 refspec: '$GERRIT_REFSPEC'
386 - integration-distribution-scm:
390 - opendaylight-infra-wrappers:
391 build-timeout: '{build-timeout}'
395 server-name: 'OpenDaylight'
397 - patchset-created-event:
398 exclude-drafts: 'true'
399 exclude-trivial-rebase: 'false'
400 exclude-no-code-change: 'true'
401 - draft-published-event
402 - comment-added-contains-event:
403 comment-contains-value: 'test-distribution'
404 - comment-added-contains-event:
405 comment-contains-value: 'reverify'
406 - comment-added-contains-event:
407 comment-contains-value: 'recheck'
409 - project-compare-type: 'ANT'
410 project-pattern: '{name}'
412 - branch-compare-type: 'ANT'
413 branch-pattern: '**/{branch}'
422 maven-version: '{mvn33}'
423 pom: '$GERRIT_PROJECT/pom.xml'
424 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}'
426 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
427 settings: 'genius-settings'
429 global-settings: 'odl-global-settings'
430 global-settings-type: cfp
433 maven-name: '{mvn33}'
434 root-pom: 'distribution/pom.xml'
435 goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
436 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
437 settings: 'genius-settings'
439 global-settings: 'odl-global-settings'
440 global-settings-type: cfp
441 ignore-upstream-changes: true
442 post-step-run-condition: 'SUCCESS'
445 - integration-distribution-check
448 - email-notification:
449 email-prefix: '[genius]'
454 mkdir -p $WORKSPACE/archives
455 cp karaf*.log $WORKSPACE/archives
456 script-only-if-succeeded: False
457 script-only-if-failed: False
458 mark-unstable-if-failed: True
460 maven-version: '{mvn33}'
463 name: 'genius-integration-{stream}'
466 # Job template for ODL integration verify jobs
468 # This is similar to a normal verify job, but it runs
469 # when a project that's a dependency of your project
470 # is successfully built.
472 # Required Variables:
473 # stream: release stream (eg. stable-lithium or beryllium)
474 # branch: git branch (eg. stable/lithium or master)
481 daysToKeep: '{build-days-to-keep}'
482 numToKeep: '{build-num-to-keep}'
483 artifactDaysToKeep: '{build-artifact-days-to-keep}'
484 artifactNumToKeep: '{build-artifact-num-to-keep}'
496 - opendaylight-infra-wrappers:
497 build-timeout: '{build-timeout}'
501 jobs: 'controller-merge-{stream},yangtools-merge-{stream},odlparent-merge-{stream},openflowplugin-merge-{stream},neutron-merge-{stream}'
505 - jacoco-nojava-workaround
506 - provide-maven-settings:
507 global-settings-file: 'odl-global-settings'
508 settings-file: 'genius-settings'
511 maven-name: '{mvn33}'
513 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins'
514 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
515 settings: 'genius-settings'
517 global-settings: 'odl-global-settings'
518 global-settings-type: cfp
524 - email-notification:
525 email-prefix: '[genius] [controller] [yangtools] [odlparent] [openflowplugin] [neutron]'
528 maven-version: '{mvn33}'
541 artifactDaysToKeep: '1'
542 artifactNumToKeep: '1'
554 - opendaylight-infra-wrappers:
555 build-timeout: '{build-timeout}'
559 - gerrit-trigger-patch-sonar:
563 - jacoco-nojava-workaround
564 - provide-maven-settings:
565 global-settings-file: 'odl-global-settings'
566 settings-file: 'genius-settings'
569 maven-name: '{mvn33}'
571 goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -V -B -Djenkins -Dsonar'
572 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
573 settings: 'genius-settings'
575 global-settings: 'odl-global-settings'
576 global-settings-type: cfp
584 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
585 - email-notification:
586 email-prefix: '[genius]'
589 maven-version: '{mvn33}'
592 name: 'genius-clm-{stream}'
600 daysToKeep: '{build-days-to-keep}'
601 numToKeep: '{build-num-to-keep}'
602 artifactDaysToKeep: '{build-artifact-days-to-keep}'
603 artifactNumToKeep: '{build-artifact-num-to-keep}'
615 - opendaylight-infra-wrappers:
616 build-timeout: '{build-timeout}'
622 - provide-maven-settings:
623 global-settings-file: 'odl-global-settings'
624 settings-file: 'genius-settings'
627 maven-name: '{mvn33}'
629 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'
630 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
631 settings: 'genius-settings'
633 global-settings: 'odl-global-settings'
634 global-settings-type: cfp
637 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
639 application-name: genius
642 - email-notification:
643 email-prefix: '[genius]'
645 maven-version: '{mvn33}'
648 name: 'genius-validate-autorelease-{stream}'
649 disabled: '{obj:disable_autorelease}'
657 daysToKeep: '{build-days-to-keep}'
658 numToKeep: '{build-num-to-keep}'
659 artifactDaysToKeep: '{build-artifact-days-to-keep}'
660 artifactNumToKeep: '{build-artifact-num-to-keep}'
668 refspec: 'refs/heads/{branch}'
669 - autorelease-release-tag:
670 release-tag: 'validate'
671 - autorelease-release-branch:
672 release-branch: '{branch}'
675 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
676 description: "Autorelease clone URL"
681 credentials-id: 'opendaylight-jenkins-ssh'
691 - opendaylight-infra-wrappers:
692 build-timeout: '{build-timeout}'
696 server-name: 'OpenDaylight'
698 - patchset-created-event:
699 exclude-drafts: 'true'
700 exclude-trivial-rebase: 'false'
701 exclude-no-code-change: 'true'
702 - draft-published-event
703 - comment-added-contains-event:
704 comment-contains-value: 'recheck'
705 - comment-added-contains-event:
706 comment-contains-value: 'reverify'
707 - comment-added-contains-event:
708 comment-contains-value: 'revalidate'
710 - project-compare-type: 'ANT'
711 project-pattern: 'genius'
713 - branch-compare-type: 'ANT'
714 branch-pattern: '**/{branch}'
720 - jacoco-nojava-workaround
721 - autorelease-checkout-gerrit-patch
722 - autorelease-generate-release-patches
724 maven-version: '{mvn33}'
725 pom: validate-pom.xml
726 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'
729 settings: 'autorelease-settings'
731 global-settings: 'odl-global-settings'
732 global-settings-type: cfp
735 maven-name: '{mvn33}'
737 goals: 'clean validate -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
738 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
739 settings: 'autorelease-settings'
741 global-settings: 'odl-global-settings'
742 global-settings-type: cfp
743 automatic-archiving: false
744 post-step-run-condition: UNSTABLE
747 - autorelease-sys-stats
750 - email-notification:
751 email-prefix: '[autorelease] [genius]'
753 maven-version: '{mvn33}'