jobs:
- 'coretutorials-verify-{stream}'
- 'coretutorials-merge-{stream}'
- - 'coretutorials-daily-{stream}'
+ - 'coretutorials-periodic-{stream}'
- 'coretutorials-distribution-{stream}'
- 'coretutorials-integration-{stream}'
- 'coretutorials-sonar'
- 'coretutorials-clm-{stream}'
+ - 'coretutorials-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: openjdk7
jdks:
- openjdk7
+ disable_autorelease: True
+ - beryllium:
+ branch: 'stable/beryllium'
+ jdk: openjdk7
+ jdks:
+ - openjdk7
+ disable_autorelease: True
- stable-lithium:
branch: 'stable/lithium'
jdk: openjdk7
jdks:
- openjdk7
+ disable_autorelease: True
project: 'coretutorials'
# For the Job templates below replace instances of:
-# PROJECT with your project name (eg. controller)
+# PROJECT_SHORTNAME with your project name (eg. circuitsw)
+# PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
# MAVEN_GOALS with your maven goals to build
# MAVEN_OPTS with your maven options to build
project: '{project}'
- gerrit-parameter:
branch: '{branch}'
+ - gerrit-refspec-parameter:
+ refspec: 'refs/heads/{branch}'
scm:
- gerrit-trigger-scm:
builders:
- wipe-org-opendaylight-repo
- jacoco-nojava-workaround
+ - provide-maven-settings:
+ global-settings-file: '{odl-global-settings}'
+ settings-file: '{coretutorials-settings}'
- maven-target:
maven-version: '{mvn33}'
pom: 'pom.xml'
- goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
+ goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dstream={stream}'
java-opts:
- '-Xmx1024m -XX:MaxPermSize=256m'
settings: '{coretutorials-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: 'coretutorials'
branch: '{branch}'
prebuilders:
- wipe-org-opendaylight-repo
- jacoco-nojava-workaround
+ - provide-maven-settings:
+ global-settings-file: '{odl-global-settings}'
+ settings-file: '{coretutorials-settings}'
maven:
maven-name: '{mvn33}'
root-pom: 'pom.xml'
- goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dmerge'
+ goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}'
maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
settings: '{coretutorials-settings}'
global-settings: '{odl-global-settings}'
+ post-step-run-condition: UNSTABLE
+
+ postbuilders:
+ - conditional-step:
+ condition-kind: file-exists
+ condition-filename: deploy-site.xml
+ condition-basedir: workspace
+
+ # The strategy here is intentional to run Maven site:deploy twice
+ # once using regular pom.xml to produce a staged-site which is
+ # then used by deploy-site.xml to push to Nexus. This is a
+ # workaround to Maven Site's default linking code which creates
+ # incorrect URLs for sites due to auto-detection assuming your
+ # project is configured in a certain way which ODL is not.
+ steps:
+ - maven-target:
+ maven-version: '{mvn33}'
+ pom: pom.xml
+ goals: 'site:deploy -Dstream={stream}'
+ java-opts:
+ - '-Xmx2g'
+ settings: '{coretutorials-settings}'
+ global-settings: '{odl-global-settings}'
+ - maven-target:
+ maven-version: '{mvn33}'
+ pom: deploy-site.xml
+ goals: 'site:deploy -Dstream={stream}'
+ java-opts:
+ - '-Xmx2g'
+ settings: '{coretutorials-settings}'
+ global-settings: '{odl-global-settings}'
reporters:
- findbugs
publishers:
+ - archive-artifacts:
+ artifacts: '**/target/surefire-reports/*-output.txt, '
- email-notification:
email-prefix: '[coretutorials]'
- maven-deploy:
- jacoco-report
- job-template:
- name: 'coretutorials-daily-{stream}'
+ name: 'coretutorials-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
- jacoco-nojava-workaround
+ - provide-maven-settings:
+ global-settings-file: '{odl-global-settings}'
+ settings-file: '{coretutorials-settings}'
maven:
maven-name: '{mvn33}'
root-pom: 'pom.xml'
- goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
+ goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
settings: '{coretutorials-settings}'
global-settings: '{odl-global-settings}'
parameters:
- project-parameter:
- project: 'integration'
+ project: 'integration/distribution'
scm:
- git-scm:
prebuilders:
- wipe-org-opendaylight-repo
+ - provide-maven-settings:
+ global-settings-file: '{odl-global-settings}'
+ settings-file: '{coretutorials-settings}'
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}'
prebuilders:
- wipe-org-opendaylight-repo
- jacoco-nojava-workaround
+ - provide-maven-settings:
+ global-settings-file: '{odl-global-settings}'
+ settings-file: '{coretutorials-settings}'
maven:
maven-name: '{mvn33}'
root-pom: 'pom.xml'
- goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
+ goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
settings: '{coretutorials-settings}'
global-settings: '{odl-global-settings}'
- job-template:
name: 'coretutorials-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: 'coretutorials'
prebuilders:
- wipe-org-opendaylight-repo
- jacoco-nojava-workaround
+ - provide-maven-settings:
+ global-settings-file: '{odl-global-settings}'
+ settings-file: '{coretutorials-settings}'
maven:
maven-name: '{mvn33}'
root-pom: 'pom.xml'
- goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dsonar'
+ goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dsonar'
maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
settings: '{coretutorials-settings}'
global-settings: '{odl-global-settings}'
- job-template:
name: 'coretutorials-clm-{stream}'
+ disabled: false
project-type: maven
node: dynamic_verify
prebuilders:
- wipe-org-opendaylight-repo
+ - provide-maven-settings:
+ global-settings-file: '{odl-global-settings}'
+ settings-file: '{coretutorials-settings}'
maven:
maven-name: '{mvn33}'
root-pom: 'pom.xml'
- goals: '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: '{coretutorials-settings}'
global-settings: '{odl-global-settings}'
postbuilders:
+ - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
- check-clm:
application-name: coretutorials
- email-notification:
email-prefix: '[coretutorials]'
+- job-template:
+ name: 'coretutorials-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: 'coretutorials'
+ 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] [coretutorials]'
+