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 - 'openflowjava-verify-{stream}'
10 - 'openflowjava-merge-{stream}'
11 - 'openflowjava-periodic-{stream}'
12 - 'openflowjava-distribution-{stream}'
13 - 'openflowjava-distribution-check-{stream}'
14 - 'openflowjava-integration-{stream}'
15 - 'openflowjava-sonar'
16 - 'openflowjava-clm-{stream}'
17 - 'openflowjava-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
31 branch: 'stable/beryllium'
36 disable_autorelease: False
37 disable_distribution_check: False
39 branch: 'stable/lithium'
44 disable_autorelease: True
45 disable_distribution_check: True
47 branch: 'stable/helium'
51 disable_autorelease: True
52 disable_distribution_check: True
54 project: 'openflowjava'
56 # For the Job templates below replace instances of:
57 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
58 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
59 # MAVEN_GOALS with your maven goals to build
60 # MAVEN_OPTS with your maven options to build
63 name: 'openflowjava-verify-{stream}'
65 # Job template for ODL verify jobs
67 # The purpose of this job template is to setup a ODL verify job
70 # stream: release stream (eg. stable-lithium or beryllium)
71 # branch: git branch (eg. stable/lithium or master)
88 daysToKeep: '{build-days-to-keep}'
89 numToKeep: '{build-num-to-keep}'
90 artifactDaysToKeep: '{build-artifact-days-to-keep}'
91 artifactNumToKeep: '{build-artifact-num-to-keep}'
98 - gerrit-refspec-parameter:
99 refspec: 'refs/heads/{branch}'
102 - gerrit-trigger-scm:
103 credentials-id: '{ssh-credentials}'
104 refspec: '$GERRIT_REFSPEC'
105 choosing-strategy: 'gerrit'
109 - ssh-agent-credentials:
111 - '{ssh-credentials}'
114 - gerrit-trigger-patch-submitted:
119 - wipe-org-opendaylight-repo
120 - jacoco-nojava-workaround
121 - provide-maven-settings:
122 global-settings-file: '{odl-global-settings}'
123 settings-file: '{openflowjava-settings}'
125 maven-version: '{mvn33}'
127 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dstream={stream}'
129 - '-Xmx1024m -XX:MaxPermSize=256m'
130 settings: '{openflowjava-settings}'
131 global-settings: '{odl-global-settings}'
135 artifacts: '**/target/surefire-reports/*-output.txt, '
137 - email-notification:
138 email-prefix: '[openflowjava]'
142 name: 'openflowjava-merge-{stream}'
144 # Job template for ODL merge jobs
146 # The purpose of this job template is to setup a ODL merge job
147 # and deploy artifacts to Nexus.
149 # Required Variables:
150 # stream: release stream (eg. stable-lithium or beryllium)
151 # branch: git branch (eg. stable/lithium or master)
160 artifactDaysToKeep: '{build-artifact-days-to-keep}'
161 artifactNumToKeep: '{build-artifact-num-to-keep}'
168 - gerrit-refspec-parameter:
169 refspec: 'refs/heads/{branch}'
172 - gerrit-trigger-scm:
173 credentials-id: '{ssh-credentials}'
175 choosing-strategy: 'default'
179 - ssh-agent-credentials:
181 - '{ssh-credentials}'
185 - gerrit-trigger-patch-merged:
190 - wipe-org-opendaylight-repo
191 - jacoco-nojava-workaround
192 - provide-maven-settings:
193 global-settings-file: '{odl-global-settings}'
194 settings-file: '{openflowjava-settings}'
197 maven-name: '{mvn33}'
199 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}'
200 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
201 settings: '{openflowjava-settings}'
202 global-settings: '{odl-global-settings}'
203 post-step-run-condition: UNSTABLE
207 condition-kind: file-exists
208 condition-filename: deploy-site.xml
209 condition-basedir: workspace
211 # The strategy here is intentional to run Maven site:deploy twice
212 # once using regular pom.xml to produce a staged-site which is
213 # then used by deploy-site.xml to push to Nexus. This is a
214 # workaround to Maven Site's default linking code which creates
215 # incorrect URLs for sites due to auto-detection assuming your
216 # project is configured in a certain way which ODL is not.
219 maven-version: '{mvn33}'
221 goals: 'site:deploy -Dstream={stream}'
224 settings: '{openflowjava-settings}'
225 global-settings: '{odl-global-settings}'
227 maven-version: '{mvn33}'
229 goals: 'site:deploy -Dstream={stream}'
232 settings: '{openflowjava-settings}'
233 global-settings: '{odl-global-settings}'
240 artifacts: '**/target/surefire-reports/*-output.txt, '
241 - email-notification:
242 email-prefix: '[openflowjava]'
246 deploy-unstable: false
250 name: 'openflowjava-periodic-{stream}'
253 # Job template for periodic builders
255 # The purpose of this job template is to setup a periodic
258 # Required Variables:
259 # stream: release stream (eg. stable-lithium or beryllium)
260 # branch: git branch (eg. stable/lithium or master)
269 artifactDaysToKeep: '{build-artifact-days-to-keep}'
270 artifactNumToKeep: '{build-artifact-num-to-keep}'
278 credentials-id: '{ssh-credentials}'
284 - ssh-agent-credentials:
286 - '{ssh-credentials}'
292 - wipe-org-opendaylight-repo
293 - jacoco-nojava-workaround
294 - provide-maven-settings:
295 global-settings-file: '{odl-global-settings}'
296 settings-file: '{openflowjava-settings}'
299 maven-name: '{mvn33}'
301 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
302 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
303 settings: '{openflowjava-settings}'
304 global-settings: '{odl-global-settings}'
310 - email-notification:
311 email-prefix: '[openflowjava]'
315 name: 'openflowjava-distribution-{stream}'
317 # Required variables:
318 # stream: release stream (eg. stable-lithium or beryllium)
319 # branch: git branch (eg. stable/lithium or master)
326 daysToKeep: '{build-days-to-keep}'
327 numToKeep: '{build-num-to-keep}'
328 artifactDaysToKeep: '{build-artifact-days-to-keep}'
329 artifactNumToKeep: '{build-artifact-num-to-keep}'
333 project: 'integration/distribution'
337 credentials-id: '{ssh-credentials}'
343 - ssh-agent-credentials:
345 - '{ssh-credentials}'
349 jobs: '{project}-merge-{stream}'
353 - wipe-org-opendaylight-repo
354 - provide-maven-settings:
355 global-settings-file: '{odl-global-settings}'
356 settings-file: '{openflowjava-settings}'
359 maven-name: '{mvn33}'
361 goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
362 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
363 settings: '{integration-settings}'
364 global-settings: '{odl-global-settings}'
367 - email-notification:
368 email-prefix: '[{project}]'
372 deploy-unstable: false
374 # Template: integration-patch-distribution-{stream}
375 # Goal: Build a patch and make sure the distribution can deploy with this change
376 # Operation: This job template builds a patch, creates a distribution containing
377 # the patch, and triggers the distribution deploy test
380 name: 'openflowjava-distribution-check-{stream}'
381 disabled: '{obj:disable_distribution_check}'
391 artifactDaysToKeep: '{build-artifact-days-to-keep}'
392 artifactNumToKeep: '{build-artifact-num-to-keep}'
395 - gerrit-project-parameter:
397 - gerrit-refspec-parameter:
401 - integration-distribution-git-url
404 - integration-gerrit-scm:
405 credentials-id: '{ssh-credentials}'
406 basedir: '$GERRIT_PROJECT'
407 refspec: '$GERRIT_REFSPEC'
409 - integration-distribution-scm:
410 credentials-id: '{ssh-credentials}'
415 - ssh-agent-credentials:
417 - '{ssh-credentials}'
421 server-name: 'OpenDaylight'
423 - patchset-created-event:
424 exclude-drafts: 'true'
425 exclude-trivial-rebase: 'false'
426 exclude-no-code-change: 'true'
427 - draft-published-event
428 - comment-added-contains-event:
429 comment-contains-value: 'test-distribution'
430 - comment-added-contains-event:
431 comment-contains-value: 'reverify'
432 - comment-added-contains-event:
433 comment-contains-value: 'recheck'
435 - project-compare-type: 'ANT'
436 project-pattern: '{name}'
438 - branch-compare-type: 'ANT'
439 branch-pattern: '**/{branch}'
447 - wipe-org-opendaylight-repo
449 maven-version: '{mvn33}'
450 pom: '$GERRIT_PROJECT/pom.xml'
451 goals: 'clean install -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}'
453 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
454 settings: '{openflowjava-settings}'
455 global-settings: '{odl-global-settings}'
458 maven-name: '{mvn33}'
459 root-pom: 'distribution/pom.xml'
460 goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
461 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
462 settings: '{openflowjava-settings}'
463 global-settings: '{odl-global-settings}'
464 ignore-upstream-changes: true
465 post-step-run-condition: 'SUCCESS'
468 - integration-distribution-check
472 artifacts: 'karaf.log'
474 artifacts: 'karaf_console.log'
475 - email-notification:
476 email-prefix: '[openflowjava]'
479 name: 'openflowjava-integration-{stream}'
482 # Job template for ODL integration verify jobs
484 # This is similar to a normal verify job, but it runs
485 # when a project that's a dependency of your project
486 # is successfully built.
488 # Required Variables:
489 # stream: release stream (eg. stable-lithium or beryllium)
490 # branch: git branch (eg. stable/lithium or master)
497 daysToKeep: '{build-days-to-keep}'
498 numToKeep: '{build-num-to-keep}'
499 artifactDaysToKeep: '{build-artifact-days-to-keep}'
500 artifactNumToKeep: '{build-artifact-num-to-keep}'
508 credentials-id: '{ssh-credentials}'
514 - ssh-agent-credentials:
516 - '{ssh-credentials}'
520 jobs: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
524 - wipe-org-opendaylight-repo
525 - jacoco-nojava-workaround
526 - provide-maven-settings:
527 global-settings-file: '{odl-global-settings}'
528 settings-file: '{openflowjava-settings}'
531 maven-name: '{mvn33}'
533 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
534 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
535 settings: '{openflowjava-settings}'
536 global-settings: '{odl-global-settings}'
542 - email-notification:
543 email-prefix: '[openflowjava] [odlparent] [yangtools] [controller]'
547 name: 'openflowjava-sonar'
557 artifactDaysToKeep: '1'
558 artifactNumToKeep: '1'
566 credentials-id: '{ssh-credentials}'
572 - ssh-agent-credentials:
574 - '{ssh-credentials}'
578 - gerrit-trigger-patch-sonar:
582 - wipe-org-opendaylight-repo
583 - jacoco-nojava-workaround
584 - provide-maven-settings:
585 global-settings-file: '{odl-global-settings}'
586 settings-file: '{openflowjava-settings}'
589 maven-name: '{mvn33}'
591 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dsonar'
592 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
593 settings: '{openflowjava-settings}'
594 global-settings: '{odl-global-settings}'
602 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
603 - email-notification:
604 email-prefix: '[openflowjava]'
608 name: 'openflowjava-clm-{stream}'
616 daysToKeep: '{build-days-to-keep}'
617 numToKeep: '{build-num-to-keep}'
618 artifactDaysToKeep: '{build-artifact-days-to-keep}'
619 artifactNumToKeep: '{build-artifact-num-to-keep}'
627 credentials-id: '{ssh-credentials}'
633 - ssh-agent-credentials:
635 - '{ssh-credentials}'
641 - wipe-org-opendaylight-repo
642 - provide-maven-settings:
643 global-settings-file: '{odl-global-settings}'
644 settings-file: '{openflowjava-settings}'
647 maven-name: '{mvn33}'
649 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'
650 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
651 settings: '{openflowjava-settings}'
652 global-settings: '{odl-global-settings}'
655 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
657 application-name: openflowjava
660 - email-notification:
661 email-prefix: '[openflowjava]'
664 name: 'openflowjava-validate-autorelease-{stream}'
665 disabled: '{obj:disable_autorelease}'
673 daysToKeep: '{build-days-to-keep}'
674 numToKeep: '{build-num-to-keep}'
675 artifactDaysToKeep: '{build-artifact-days-to-keep}'
676 artifactNumToKeep: '{build-artifact-num-to-keep}'
683 - autorelease-release-tag:
684 release-tag: 'validate'
685 - autorelease-release-branch:
686 release-branch: '{branch}'
687 - autorelease-release-datestamp:
692 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
701 - autorelease-build-timeout
702 - ssh-agent-credentials:
704 - '{ssh-credentials}'
708 server-name: 'OpenDaylight'
710 - patchset-created-event:
711 exclude-drafts: 'false'
712 exclude-trivial-rebase: 'false'
713 exclude-no-code-change: 'false'
714 - draft-published-event
715 - comment-added-contains-event:
716 comment-contains-value: 'recheck'
717 - comment-added-contains-event:
718 comment-contains-value: 'reverify'
719 - comment-added-contains-event:
720 comment-contains-value: 'revalidate'
722 - project-compare-type: 'ANT'
723 project-pattern: 'openflowjava'
725 - branch-compare-type: 'ANT'
726 branch-pattern: '**/{branch}'
732 - wipe-org-opendaylight-repo
733 - jacoco-nojava-workaround
734 - autorelease-checkout-gerrit-patch
735 - autorelease-generate-taglist
736 - autorelease-generate-release-patches
738 maven-version: '{mvn33}'
739 pom: validate-pom.xml
740 goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
743 settings: '{autorelease-settings}'
744 global-settings: '{odl-global-settings}'
747 maven-name: '{mvn33}'
749 goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
750 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
751 settings: '{autorelease-settings}'
752 global-settings: '{odl-global-settings}'
753 automatic-archiving: false
754 post-step-run-condition: UNSTABLE
757 - shell: "./scripts/list-project-dependencies.sh"
758 - autorelease-sys-stats
763 - email-notification:
764 email-prefix: '[autorelease] [openflowjava]'