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 - 'snmp4sdn-verify-{stream}'
10 - 'snmp4sdn-merge-{stream}'
11 - 'snmp4sdn-periodic-{stream}'
12 - 'snmp4sdn-distribution-{stream}'
13 - 'snmp4sdn-distribution-check-{stream}'
14 - 'snmp4sdn-integration-{stream}'
16 - 'snmp4sdn-clm-{stream}'
17 - 'snmp4sdn-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'
43 disable_autorelease: True
44 disable_distribution_check: True
46 branch: 'stable/helium'
50 disable_autorelease: True
51 disable_distribution_check: True
55 # For the Job templates below replace instances of:
56 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
57 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
58 # MAVEN_GOALS with your maven goals to build
59 # MAVEN_OPTS with your maven options to build
62 name: 'snmp4sdn-verify-{stream}'
64 # Job template for ODL verify jobs
66 # The purpose of this job template is to setup a ODL verify job
69 # stream: release stream (eg. stable-lithium or beryllium)
70 # branch: git branch (eg. stable/lithium or master)
87 daysToKeep: '{build-days-to-keep}'
88 numToKeep: '{build-num-to-keep}'
89 artifactDaysToKeep: '{build-artifact-days-to-keep}'
90 artifactNumToKeep: '{build-artifact-num-to-keep}'
97 - gerrit-refspec-parameter:
98 refspec: 'refs/heads/{branch}'
101 - gerrit-trigger-scm:
102 credentials-id: '{ssh-credentials}'
103 refspec: '$GERRIT_REFSPEC'
104 choosing-strategy: 'gerrit'
108 - ssh-agent-credentials:
110 - '{ssh-credentials}'
113 - gerrit-trigger-patch-submitted:
118 - wipe-org-opendaylight-repo
119 - jacoco-nojava-workaround
120 - provide-maven-settings:
121 global-settings-file: '{odl-global-settings}'
122 settings-file: '{snmp4sdn-settings}'
124 maven-version: '{mvn33}'
126 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dstream={stream}'
128 - '-Xmx1024m -XX:MaxPermSize=256m'
129 settings: '{snmp4sdn-settings}'
130 global-settings: '{odl-global-settings}'
134 - email-notification:
135 email-prefix: '[snmp4sdn]'
139 name: 'snmp4sdn-merge-{stream}'
141 # Job template for ODL merge jobs
143 # The purpose of this job template is to setup a ODL merge job
144 # and deploy artifacts to Nexus.
146 # Required Variables:
147 # stream: release stream (eg. stable-lithium or beryllium)
148 # branch: git branch (eg. stable/lithium or master)
157 artifactDaysToKeep: '{build-artifact-days-to-keep}'
158 artifactNumToKeep: '{build-artifact-num-to-keep}'
165 - gerrit-refspec-parameter:
166 refspec: 'refs/heads/{branch}'
169 - gerrit-trigger-scm:
170 credentials-id: '{ssh-credentials}'
172 choosing-strategy: 'default'
176 - ssh-agent-credentials:
178 - '{ssh-credentials}'
182 - gerrit-trigger-patch-merged:
187 - wipe-org-opendaylight-repo
188 - jacoco-nojava-workaround
189 - provide-maven-settings:
190 global-settings-file: '{odl-global-settings}'
191 settings-file: '{snmp4sdn-settings}'
194 maven-name: '{mvn33}'
196 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}'
197 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
198 settings: '{snmp4sdn-settings}'
199 global-settings: '{odl-global-settings}'
200 post-step-run-condition: UNSTABLE
204 condition-kind: file-exists
205 condition-filename: deploy-site.xml
206 condition-basedir: workspace
208 # The strategy here is intentional to run Maven site:deploy twice
209 # once using regular pom.xml to produce a staged-site which is
210 # then used by deploy-site.xml to push to Nexus. This is a
211 # workaround to Maven Site's default linking code which creates
212 # incorrect URLs for sites due to auto-detection assuming your
213 # project is configured in a certain way which ODL is not.
216 maven-version: '{mvn33}'
218 goals: 'site:deploy -Dstream={stream}'
221 settings: '{snmp4sdn-settings}'
222 global-settings: '{odl-global-settings}'
224 maven-version: '{mvn33}'
226 goals: 'site:deploy -Dstream={stream}'
229 settings: '{snmp4sdn-settings}'
230 global-settings: '{odl-global-settings}'
237 artifacts: '**/target/surefire-reports/*-output.txt, '
238 - email-notification:
239 email-prefix: '[snmp4sdn]'
243 deploy-unstable: false
247 name: 'snmp4sdn-periodic-{stream}'
250 # Job template for periodic builders
252 # The purpose of this job template is to setup a periodic
255 # Required Variables:
256 # stream: release stream (eg. stable-lithium or beryllium)
257 # branch: git branch (eg. stable/lithium or master)
266 artifactDaysToKeep: '{build-artifact-days-to-keep}'
267 artifactNumToKeep: '{build-artifact-num-to-keep}'
275 credentials-id: '{ssh-credentials}'
281 - ssh-agent-credentials:
283 - '{ssh-credentials}'
289 - wipe-org-opendaylight-repo
290 - jacoco-nojava-workaround
291 - provide-maven-settings:
292 global-settings-file: '{odl-global-settings}'
293 settings-file: '{snmp4sdn-settings}'
296 maven-name: '{mvn33}'
298 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
299 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
300 settings: '{snmp4sdn-settings}'
301 global-settings: '{odl-global-settings}'
307 - email-notification:
308 email-prefix: '[snmp4sdn]'
312 name: 'snmp4sdn-distribution-{stream}'
314 # Required variables:
315 # stream: release stream (eg. stable-lithium or beryllium)
316 # branch: git branch (eg. stable/lithium or master)
323 daysToKeep: '{build-days-to-keep}'
324 numToKeep: '{build-num-to-keep}'
325 artifactDaysToKeep: '{build-artifact-days-to-keep}'
326 artifactNumToKeep: '{build-artifact-num-to-keep}'
330 project: 'integration/distribution'
334 credentials-id: '{ssh-credentials}'
340 - ssh-agent-credentials:
342 - '{ssh-credentials}'
346 jobs: '{project}-merge-{stream}'
350 - wipe-org-opendaylight-repo
351 - provide-maven-settings:
352 global-settings-file: '{odl-global-settings}'
353 settings-file: '{snmp4sdn-settings}'
356 maven-name: '{mvn33}'
358 goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
359 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
360 settings: '{integration-settings}'
361 global-settings: '{odl-global-settings}'
364 - email-notification:
365 email-prefix: '[{project}]'
369 deploy-unstable: false
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: 'snmp4sdn-distribution-check-{stream}'
378 disabled: '{obj:disable_distribution_check}'
388 artifactDaysToKeep: '{build-artifact-days-to-keep}'
389 artifactNumToKeep: '{build-artifact-num-to-keep}'
392 - gerrit-project-parameter:
394 - gerrit-refspec-parameter:
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'
428 - project-compare-type: 'ANT'
429 project-pattern: '{name}'
431 - branch-compare-type: 'ANT'
432 branch-pattern: '**/{branch}'
440 - wipe-org-opendaylight-repo
442 maven-version: '{mvn33}'
443 pom: '$GERRIT_PROJECT/pom.xml'
444 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}'
446 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
447 settings: '{snmp4sdn-settings}'
448 global-settings: '{odl-global-settings}'
451 maven-name: '{mvn33}'
452 root-pom: 'distribution/pom.xml'
453 goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
454 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
455 settings: '{snmp4sdn-settings}'
456 global-settings: '{odl-global-settings}'
457 ignore-upstream-changes: true
458 post-step-run-condition: 'SUCCESS'
461 - integration-distribution-check
465 artifacts: 'karaf.log'
467 artifacts: 'karaf_console.log'
468 - email-notification:
469 email-prefix: '[snmp4sdn]'
472 name: 'snmp4sdn-integration-{stream}'
475 # Job template for ODL integration verify jobs
477 # This is similar to a normal verify job, but it runs
478 # when a project that's a dependency of your project
479 # is successfully built.
481 # Required Variables:
482 # stream: release stream (eg. stable-lithium or beryllium)
483 # branch: git branch (eg. stable/lithium or master)
490 daysToKeep: '{build-days-to-keep}'
491 numToKeep: '{build-num-to-keep}'
492 artifactDaysToKeep: '{build-artifact-days-to-keep}'
493 artifactNumToKeep: '{build-artifact-num-to-keep}'
501 credentials-id: '{ssh-credentials}'
507 - ssh-agent-credentials:
509 - '{ssh-credentials}'
513 jobs: 'odlparent-merge-{stream},controller-merge-{stream},yangtools-merge-{stream}'
517 - wipe-org-opendaylight-repo
518 - jacoco-nojava-workaround
519 - provide-maven-settings:
520 global-settings-file: '{odl-global-settings}'
521 settings-file: '{snmp4sdn-settings}'
524 maven-name: '{mvn33}'
526 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
527 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
528 settings: '{snmp4sdn-settings}'
529 global-settings: '{odl-global-settings}'
535 - email-notification:
536 email-prefix: '[snmp4sdn] [odlparent] [controller] [yangtools]'
540 name: 'snmp4sdn-sonar'
550 artifactDaysToKeep: '1'
551 artifactNumToKeep: '1'
559 credentials-id: '{ssh-credentials}'
565 - ssh-agent-credentials:
567 - '{ssh-credentials}'
571 - gerrit-trigger-patch-sonar:
575 - wipe-org-opendaylight-repo
576 - jacoco-nojava-workaround
577 - provide-maven-settings:
578 global-settings-file: '{odl-global-settings}'
579 settings-file: '{snmp4sdn-settings}'
582 maven-name: '{mvn33}'
584 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dsonar'
585 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
586 settings: '{snmp4sdn-settings}'
587 global-settings: '{odl-global-settings}'
595 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
596 - email-notification:
597 email-prefix: '[snmp4sdn]'
601 name: 'snmp4sdn-clm-{stream}'
609 daysToKeep: '{build-days-to-keep}'
610 numToKeep: '{build-num-to-keep}'
611 artifactDaysToKeep: '{build-artifact-days-to-keep}'
612 artifactNumToKeep: '{build-artifact-num-to-keep}'
620 credentials-id: '{ssh-credentials}'
626 - ssh-agent-credentials:
628 - '{ssh-credentials}'
634 - wipe-org-opendaylight-repo
635 - provide-maven-settings:
636 global-settings-file: '{odl-global-settings}'
637 settings-file: '{snmp4sdn-settings}'
640 maven-name: '{mvn33}'
642 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'
643 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
644 settings: '{snmp4sdn-settings}'
645 global-settings: '{odl-global-settings}'
648 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
650 application-name: snmp4sdn
653 - email-notification:
654 email-prefix: '[snmp4sdn]'
657 name: 'snmp4sdn-validate-autorelease-{stream}'
658 disabled: '{obj:disable_autorelease}'
666 daysToKeep: '{build-days-to-keep}'
667 numToKeep: '{build-num-to-keep}'
668 artifactDaysToKeep: '{build-artifact-days-to-keep}'
669 artifactNumToKeep: '{build-artifact-num-to-keep}'
676 - autorelease-release-tag:
677 release-tag: 'validate'
678 - autorelease-release-branch:
679 release-branch: '{branch}'
680 - autorelease-release-datestamp:
685 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
694 - autorelease-build-timeout
695 - ssh-agent-credentials:
697 - '{ssh-credentials}'
701 server-name: 'OpenDaylight'
703 - patchset-created-event:
704 exclude-drafts: 'false'
705 exclude-trivial-rebase: 'false'
706 exclude-no-code-change: 'false'
707 - draft-published-event
708 - comment-added-contains-event:
709 comment-contains-value: 'recheck'
710 - comment-added-contains-event:
711 comment-contains-value: 'reverify'
712 - comment-added-contains-event:
713 comment-contains-value: 'revalidate'
715 - project-compare-type: 'ANT'
716 project-pattern: 'snmp4sdn'
718 - branch-compare-type: 'ANT'
719 branch-pattern: '**/{branch}'
722 - wipe-org-opendaylight-repo
723 - jacoco-nojava-workaround
724 - autorelease-checkout-gerrit-patch
725 - autorelease-generate-taglist
726 - autorelease-generate-release-patches
728 maven-version: '{mvn33}'
729 pom: validate-pom.xml
730 goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
733 settings: '{autorelease-settings}'
734 global-settings: '{odl-global-settings}'
737 maven-name: '{mvn33}'
739 goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
740 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
741 settings: '{autorelease-settings}'
742 global-settings: '{odl-global-settings}'
743 automatic-archiving: false
744 post-step-run-condition: UNSTABLE
747 - shell: "./scripts/list-project-dependencies.sh"
748 - autorelease-sys-stats
753 - email-notification:
754 email-prefix: '[autorelease] [snmp4sdn]'