jobs:
- 'l2switch-verify-{stream}'
- 'l2switch-merge-{stream}'
- - 'l2switch-daily-{stream}'
+ - 'l2switch-periodic-{stream}'
- 'l2switch-distribution-{stream}'
+ - 'l2switch-distribution-check-{stream}'
- 'l2switch-integration-{stream}'
- 'l2switch-sonar'
- 'l2switch-clm-{stream}'
+ - 'l2switch-validate-autorelease-{stream}'
# stream: release stream (eg. stable-lithium or beryllium)
# branch: git branch (eg. stable/lithium or master)
stream:
- - beryllium:
+ - boron:
branch: 'master'
+ jdk: openjdk8
+ jdks:
+ - openjdk8
+ disable_autorelease: False
+ disable_distribution_check: False
+ - beryllium:
+ branch: 'stable/beryllium'
jdk: openjdk7
jdks:
- openjdk7
+ - openjdk8
+ disable_autorelease: False
+ disable_distribution_check: False
- stable-lithium:
branch: 'stable/lithium'
jdk: openjdk7
jdks:
- openjdk7
+ disable_autorelease: True
+ disable_distribution_check: True
- stable-helium:
branch: 'stable/helium'
jdk: openjdk7
jdks:
- openjdk7
+ disable_autorelease: True
+ disable_distribution_check: True
project: 'l2switch'
project: '{project}'
- gerrit-parameter:
branch: '{branch}'
+ - gerrit-refspec-parameter:
+ refspec: 'refs/heads/{branch}'
scm:
- gerrit-trigger-scm:
- maven-target:
maven-version: '{mvn33}'
pom: 'pom.xml'
- goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Dstream={stream}'
+ goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Djenkins -Dstream={stream}'
java-opts:
- '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
settings: '{l2switch-settings}'
jdk: '{jdk}'
logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
+ daysToKeep: '14'
+ numToKeep: '10'
artifactDaysToKeep: '{build-artifact-days-to-keep}'
artifactNumToKeep: '{build-artifact-num-to-keep}'
parameters:
- project-parameter:
project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - gerrit-refspec-parameter:
+ refspec: 'refs/heads/{branch}'
scm:
- gerrit-trigger-scm:
- '{ssh-credentials}'
triggers:
+ - timed: 'H H * * 0'
- gerrit-trigger-patch-merged:
name: 'l2switch'
branch: '{branch}'
maven:
maven-name: '{mvn33}'
root-pom: 'pom.xml'
- goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Dmerge -Dstream={stream}'
+ goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Djenkins -Dmerge -Dstream={stream}'
maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
settings: '{l2switch-settings}'
global-settings: '{odl-global-settings}'
- findbugs
publishers:
+ - archive-artifacts:
+ artifacts: '**/target/surefire-reports/*-output.txt, '
- email-notification:
email-prefix: '[l2switch]'
- maven-deploy:
- jacoco-report
- job-template:
- name: 'l2switch-daily-{stream}'
+ name: 'l2switch-periodic-{stream}'
+ disabled: false
- # Job template for daily builders
+ # Job template for periodic builders
#
- # The purpose of this job template is to setup a daily/nightly
- # builder and pushes to Sonar analysis.
+ # The purpose of this job template is to setup a periodic
+ # builder.
#
# Required Variables:
# stream: release stream (eg. stable-lithium or beryllium)
jdk: '{jdk}'
logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
+ daysToKeep: '14'
+ numToKeep: '10'
artifactDaysToKeep: '{build-artifact-days-to-keep}'
artifactNumToKeep: '{build-artifact-num-to-keep}'
- '{ssh-credentials}'
triggers:
- - timed: 'H H * * *'
+ - timed: '@daily'
prebuilders:
- wipe-org-opendaylight-repo
maven:
maven-name: '{mvn33}'
root-pom: 'pom.xml'
- goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
+ goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Djenkins'
maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
settings: '{l2switch-settings}'
global-settings: '{odl-global-settings}'
parameters:
- project-parameter:
- project: 'integration'
+ project: 'integration/distribution'
scm:
- git-scm:
maven:
maven-name: '{mvn33}'
root-pom: 'pom.xml'
- goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
+ goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
settings: '{integration-settings}'
global-settings: '{odl-global-settings}'
unique-version: true
deploy-unstable: false
+# Template: integration-patch-distribution-{stream}
+# Goal: Build a patch and make sure the distribution can deploy with this change
+# Operation: This job template builds a patch, creates a distribution containing
+# the patch, and triggers the distribution deploy test
+
+- job-template:
+ name: 'l2switch-distribution-check-{stream}'
+ disabled: '{obj:disable_distribution_check}'
+
+ project-type: maven
+ node: dynamic_verify
+ concurrent: true
+ jdk: '{jdk}'
+
+ logrotate:
+ daysToKeep: '14'
+ numToKeep: '10'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - gerrit-project-parameter:
+ project: '{project}'
+ - gerrit-refspec-parameter:
+ refspec: '{branch}'
+ - project-parameter:
+ project: '{project}'
+ - integration-distribution-git-url
+
+ scm:
+ - integration-gerrit-scm:
+ credentials-id: '{ssh-credentials}'
+ basedir: '$GERRIT_PROJECT'
+ refspec: '$GERRIT_REFSPEC'
+ branch: '{branch}'
+ - integration-distribution-scm:
+ credentials-id: '{ssh-credentials}'
+ branch: '{branch}'
+
+ wrappers:
+ - build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - gerrit:
+ server-name: 'OpenDaylight'
+ trigger-on:
+ - patchset-created-event:
+ exclude-drafts: 'true'
+ exclude-trivial-rebase: 'false'
+ exclude-no-code-change: 'true'
+ - draft-published-event
+ - comment-added-contains-event:
+ comment-contains-value: 'test-distribution'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{name}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ skip-vote:
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+
+ prebuilders:
+ - wipe-org-opendaylight-repo
+ - maven-target:
+ maven-version: '{mvn33}'
+ pom: '$GERRIT_PROJECT/pom.xml'
+ 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}'
+ java-opts:
+ - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
+ settings: '{l2switch-settings}'
+ global-settings: '{odl-global-settings}'
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'distribution/pom.xml'
+ goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
+ maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
+ settings: '{l2switch-settings}'
+ global-settings: '{odl-global-settings}'
+ ignore-upstream-changes: true
+ post-step-run-condition: 'SUCCESS'
+
+ postbuilders:
+ - integration-distribution-check
+
+ publishers:
+ - archive:
+ artifacts: 'karaf.log'
+ - archive:
+ artifacts: 'karaf_console.log'
+ - email-notification:
+ email-prefix: '[l2switch]'
+
- job-template:
name: 'l2switch-integration-{stream}'
disabled: false
maven:
maven-name: '{mvn33}'
root-pom: 'pom.xml'
- goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
+ goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Djenkins'
maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
settings: '{l2switch-settings}'
global-settings: '{odl-global-settings}'
- job-template:
name: 'l2switch-sonar'
+ disabled: false
project-type: maven
node: dynamic_verify
- jdk: 'openjdk7'
+ jdk: 'openjdk8'
logrotate:
daysToKeep: '7'
- '{ssh-credentials}'
triggers:
- - timed: 'H H * * *'
+ - timed: '@weekly'
- gerrit-trigger-patch-sonar:
name: 'l2switch'
maven:
maven-name: '{mvn33}'
root-pom: 'pom.xml'
- goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Dsonar'
+ goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Djenkins -Dsonar'
maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
settings: '{l2switch-settings}'
global-settings: '{odl-global-settings}'
- job-template:
name: 'l2switch-clm-{stream}'
+ disabled: false
project-type: maven
node: dynamic_verify
maven:
maven-name: '{mvn33}'
root-pom: 'pom.xml'
- goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
+ 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'
maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
settings: '{l2switch-settings}'
global-settings: '{odl-global-settings}'
postbuilders:
+ - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
- check-clm:
application-name: l2switch
- email-notification:
email-prefix: '[l2switch]'
+- job-template:
+ name: 'l2switch-validate-autorelease-{stream}'
+ disabled: '{obj:disable_autorelease}'
+
+ project-type: maven
+ node: dynamic_verify
+ concurrent: true
+ jdk: '{jdk}'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - autorelease-release-tag:
+ release-tag: 'validate'
+ - autorelease-release-branch:
+ release-branch: '{branch}'
+ - autorelease-release-datestamp:
+ datestamp: true
+
+ scm:
+ - git:
+ url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
+ refspec: ''
+ branches:
+ - 'origin/{branch}'
+ skip-tag: true
+ submodule:
+ recursive: true
+
+ wrappers:
+ - autorelease-build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - gerrit:
+ server-name: 'OpenDaylight'
+ trigger-on:
+ - patchset-created-event:
+ exclude-drafts: 'false'
+ exclude-trivial-rebase: 'false'
+ exclude-no-code-change: 'false'
+ - draft-published-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ - comment-added-contains-event:
+ comment-contains-value: 'revalidate'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'l2switch'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+
+ prebuilders:
+ - wipe-org-opendaylight-repo
+ - jacoco-nojava-workaround
+ - autorelease-checkout-gerrit-patch
+ - autorelease-generate-taglist
+ - autorelease-generate-release-patches
+ - maven-target:
+ maven-version: '{mvn33}'
+ pom: validate-pom.xml
+ goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
+ java-opts:
+ - '-Xmx8g'
+ settings: '{autorelease-settings}'
+ global-settings: '{odl-global-settings}'
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
+ maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
+ settings: '{autorelease-settings}'
+ global-settings: '{odl-global-settings}'
+ automatic-archiving: false
+ post-step-run-condition: UNSTABLE
+
+ postbuilders:
+ - shell: "./scripts/list-project-dependencies.sh"
+ - autorelease-sys-stats
+
+ publishers:
+ - archive-artifacts:
+ artifacts: '*.log'
+ - email-notification:
+ email-prefix: '[autorelease] [l2switch]'
+