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 - 'openflowplugin-verify-{stream}'
10 - 'openflowplugin-merge-{stream}'
11 - 'openflowplugin-periodic-{stream}'
12 - 'openflowplugin-distribution-{stream}'
13 - 'openflowplugin-distribution-check-{stream}'
14 - 'openflowplugin-integration-{stream}'
15 - 'openflowplugin-sonar'
16 - 'openflowplugin-clm-{stream}'
17 - 'openflowplugin-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: 'openflowplugin'
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: 'openflowplugin-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:
115 name: 'openflowplugin'
119 - wipe-org-opendaylight-repo
120 - jacoco-nojava-workaround
121 - provide-maven-settings:
122 global-settings-file: '{odl-global-settings}'
123 settings-file: '{openflowplugin-settings}'
125 maven-version: '{mvn33}'
127 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate -Djenkins -Dstream={stream}'
129 - '-Xmx1024m -XX:MaxPermSize=256m'
130 settings: '{openflowplugin-settings}'
131 global-settings: '{odl-global-settings}'
135 artifacts: '**/target/surefire-reports/*-output.txt, model/*/target/site/**'
137 - email-notification:
138 email-prefix: '[openflowplugin]'
142 name: 'openflowplugin-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:
186 name: 'openflowplugin'
190 - wipe-org-opendaylight-repo
191 - jacoco-nojava-workaround
192 - provide-maven-settings:
193 global-settings-file: '{odl-global-settings}'
194 settings-file: '{openflowplugin-settings}'
197 maven-name: '{mvn33}'
199 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate -Djenkins -Dmerge -Dstream={stream}'
200 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
201 settings: '{openflowplugin-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: '{openflowplugin-settings}'
225 global-settings: '{odl-global-settings}'
227 maven-version: '{mvn33}'
229 goals: 'site:deploy -Dstream={stream}'
232 settings: '{openflowplugin-settings}'
233 global-settings: '{odl-global-settings}'
240 artifacts: '**/target/surefire-reports/*-output.txt, model/*/target/site/**'
241 - email-notification:
242 email-prefix: '[openflowplugin]'
246 deploy-unstable: false
250 name: 'openflowplugin-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: '{openflowplugin-settings}'
299 maven-name: '{mvn33}'
301 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate -Djenkins'
302 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
303 settings: '{openflowplugin-settings}'
304 global-settings: '{odl-global-settings}'
310 - email-notification:
311 email-prefix: '[openflowplugin]'
315 name: 'openflowplugin-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: '{openflowplugin-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: 'openflowplugin-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'
431 - project-compare-type: 'ANT'
432 project-pattern: '{name}'
434 - branch-compare-type: 'ANT'
435 branch-pattern: '**/{branch}'
443 - wipe-org-opendaylight-repo
445 maven-version: '{mvn33}'
446 pom: '$GERRIT_PROJECT/pom.xml'
447 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}'
449 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
450 settings: '{openflowplugin-settings}'
451 global-settings: '{odl-global-settings}'
454 maven-name: '{mvn33}'
455 root-pom: 'distribution/pom.xml'
456 goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
457 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
458 settings: '{openflowplugin-settings}'
459 global-settings: '{odl-global-settings}'
460 ignore-upstream-changes: true
461 post-step-run-condition: 'SUCCESS'
464 - integration-distribution-check
468 artifacts: 'karaf.log'
470 artifacts: 'karaf_console.log'
471 - email-notification:
472 email-prefix: '[openflowplugin]'
475 name: 'openflowplugin-integration-{stream}'
478 # Job template for ODL integration verify jobs
480 # This is similar to a normal verify job, but it runs
481 # when a project that's a dependency of your project
482 # is successfully built.
484 # Required Variables:
485 # stream: release stream (eg. stable-lithium or beryllium)
486 # branch: git branch (eg. stable/lithium or master)
493 daysToKeep: '{build-days-to-keep}'
494 numToKeep: '{build-num-to-keep}'
495 artifactDaysToKeep: '{build-artifact-days-to-keep}'
496 artifactNumToKeep: '{build-artifact-num-to-keep}'
504 credentials-id: '{ssh-credentials}'
510 - ssh-agent-credentials:
512 - '{ssh-credentials}'
516 jobs: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream},openflowjava-merge-{stream}'
520 - wipe-org-opendaylight-repo
521 - jacoco-nojava-workaround
522 - provide-maven-settings:
523 global-settings-file: '{odl-global-settings}'
524 settings-file: '{openflowplugin-settings}'
527 maven-name: '{mvn33}'
529 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate -Djenkins'
530 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
531 settings: '{openflowplugin-settings}'
532 global-settings: '{odl-global-settings}'
538 - email-notification:
539 email-prefix: '[openflowplugin] [odlparent] [yangtools] [controller] [openflowjava]'
543 name: 'openflowplugin-sonar'
553 artifactDaysToKeep: '1'
554 artifactNumToKeep: '1'
562 credentials-id: '{ssh-credentials}'
568 - ssh-agent-credentials:
570 - '{ssh-credentials}'
574 - gerrit-trigger-patch-sonar:
575 name: 'openflowplugin'
578 - wipe-org-opendaylight-repo
579 - jacoco-nojava-workaround
580 - provide-maven-settings:
581 global-settings-file: '{odl-global-settings}'
582 settings-file: '{openflowplugin-settings}'
585 maven-name: '{mvn33}'
587 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate -Djenkins -Dsonar'
588 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
589 settings: '{openflowplugin-settings}'
590 global-settings: '{odl-global-settings}'
598 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
599 - email-notification:
600 email-prefix: '[openflowplugin]'
604 name: 'openflowplugin-clm-{stream}'
612 daysToKeep: '{build-days-to-keep}'
613 numToKeep: '{build-num-to-keep}'
614 artifactDaysToKeep: '{build-artifact-days-to-keep}'
615 artifactNumToKeep: '{build-artifact-num-to-keep}'
623 credentials-id: '{ssh-credentials}'
629 - ssh-agent-credentials:
631 - '{ssh-credentials}'
637 - wipe-org-opendaylight-repo
638 - provide-maven-settings:
639 global-settings-file: '{odl-global-settings}'
640 settings-file: '{openflowplugin-settings}'
643 maven-name: '{mvn33}'
645 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'
646 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
647 settings: '{openflowplugin-settings}'
648 global-settings: '{odl-global-settings}'
651 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
653 application-name: openflowplugin
656 - email-notification:
657 email-prefix: '[openflowplugin]'
660 name: 'openflowplugin-validate-autorelease-{stream}'
661 disabled: '{obj:disable_autorelease}'
669 daysToKeep: '{build-days-to-keep}'
670 numToKeep: '{build-num-to-keep}'
671 artifactDaysToKeep: '{build-artifact-days-to-keep}'
672 artifactNumToKeep: '{build-artifact-num-to-keep}'
679 - autorelease-release-tag:
680 release-tag: 'validate'
681 - autorelease-release-branch:
682 release-branch: '{branch}'
683 - autorelease-release-datestamp:
688 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
697 - autorelease-build-timeout
698 - ssh-agent-credentials:
700 - '{ssh-credentials}'
704 server-name: 'OpenDaylight'
706 - patchset-created-event:
707 exclude-drafts: 'false'
708 exclude-trivial-rebase: 'false'
709 exclude-no-code-change: 'false'
710 - draft-published-event
711 - comment-added-contains-event:
712 comment-contains-value: 'recheck'
713 - comment-added-contains-event:
714 comment-contains-value: 'reverify'
715 - comment-added-contains-event:
716 comment-contains-value: 'revalidate'
718 - project-compare-type: 'ANT'
719 project-pattern: 'openflowplugin'
721 - branch-compare-type: 'ANT'
722 branch-pattern: '**/{branch}'
728 - wipe-org-opendaylight-repo
729 - jacoco-nojava-workaround
730 - autorelease-checkout-gerrit-patch
731 - autorelease-generate-taglist
732 - autorelease-generate-release-patches
734 maven-version: '{mvn33}'
735 pom: validate-pom.xml
736 goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
739 settings: '{autorelease-settings}'
740 global-settings: '{odl-global-settings}'
743 maven-name: '{mvn33}'
745 goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
746 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
747 settings: '{autorelease-settings}'
748 global-settings: '{odl-global-settings}'
749 automatic-archiving: false
750 post-step-run-condition: UNSTABLE
753 - shell: "./scripts/list-project-dependencies.sh"
754 - autorelease-sys-stats
759 - email-notification:
760 email-prefix: '[autorelease] [openflowplugin]'