From 3cc253daad16d29302abbf5d5d84e0678c922f68 Mon Sep 17 00:00:00 2001 From: Thanh Ha Date: Wed, 22 Apr 2015 17:31:43 -0400 Subject: [PATCH] Add autorelease release job Change-Id: I3e16350dda7b6a9b90edf19b81eac7ccebefd843 Signed-off-by: Thanh Ha --- jjb/autorelease/autorelease-lithium.yaml | 76 +++++++++++++++++-- jjb/autorelease/autorelease-macros.yaml | 40 ++++++++++ jjb/autorelease/autorelease-master.yaml | 10 +-- ...nclude-raw-autorelease-release-versions.sh | 4 +- 4 files changed, 116 insertions(+), 14 deletions(-) diff --git a/jjb/autorelease/autorelease-lithium.yaml b/jjb/autorelease/autorelease-lithium.yaml index 633f5570c..78b64ae72 100644 --- a/jjb/autorelease/autorelease-lithium.yaml +++ b/jjb/autorelease/autorelease-lithium.yaml @@ -4,6 +4,7 @@ name: autorelease-lithium jobs: - 'autorelease-daily-lithium' + - 'autorelease-release-lithium' branch: 'stable/lithium' project: 'releng/autorelease' @@ -27,6 +28,8 @@ project: '{project}' - autorelease-release-tag: release-tag: 'Daily' + - autorelease-release-branch: + release-branch: '{branch}' scm: - git: @@ -41,7 +44,7 @@ wrappers: - autorelease-build-timeout - ssh-agent-credentials: - user: '{ssh-credentials}' + users: '{ssh-credentials}' triggers: - timed: 'H 0 * * *' @@ -59,12 +62,73 @@ global-settings: '{odl-global-settings}' postbuilders: - - maven-target: + - autorelease-maven-sources: + maven-version: '{mvn32}' + settings: '{autorelease-settings}' + global-settings: '{odl-global-settings}' + - jacoco-nojava-workaround + + publishers: + - archive-artifacts: + artifacts: 'sources.log,patches/*.patch' + - email-notification: + email-prefix: '[autorelease]' + +- job-template: + name: 'autorelease-release-lithium' + + project-type: maven + node: dynamic_verify + 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}' + - autorelease-release-tag: + release-tag: 'Pre-Lithium' + - autorelease-release-branch: + release-branch: '{branch}' + + scm: + - git: + credentials-id: '{ssh-credentials}' + url: '$GIT_BASE' + refspec: '' + branches: + - 'origin/{branch}' + skip-tag: true + recursive-submodules: true + + wrappers: + - autorelease-build-timeout + - ssh-agent-credentials: + users: '{ssh-credentials}' + + prebuilders: + - shell: + !include-raw include-raw-autorelease-release-versions.sh + + maven: + maven-name: '{mvn32}' + root-pom: 'pom.xml' + goals: 'clean install source:jar javadoc:jar -Pintegrationtests,docs,repoBuild -fae -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' + maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' + settings: '{autorelease-settings}' + global-settings: '{odl-global-settings}' + + postbuilders: + - autorelease-cfp: + autorelease-settings: '{autorelease-settings}' + odl-global-settings: '{odl-global-settings}' + - autorelease-maven-deploy + - autorelease-maven-sources: maven-version: '{mvn32}' - pom: 'pom.xml' - goals: 'dependency:sources -l sources.log -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' - java-opts: - - '-Xmx4096m -XX:MaxPermSize=1024m' settings: '{autorelease-settings}' global-settings: '{odl-global-settings}' - jacoco-nojava-workaround diff --git a/jjb/autorelease/autorelease-macros.yaml b/jjb/autorelease/autorelease-macros.yaml index 7e193f782..db61e47b0 100644 --- a/jjb/autorelease/autorelease-macros.yaml +++ b/jjb/autorelease/autorelease-macros.yaml @@ -7,6 +7,14 @@ default: '{release-tag}' description: "The Release train tag to use eg. Helium-SR3" +- parameter: + name: autorelease-release-branch + parameters: + - string: + name: RELEASE_BRANCH + default: '{release-branch}' + description: "The Release train branch to base build off eg. stable/helium" + - wrapper: name: autorelease-build-timeout wrappers: @@ -14,3 +22,35 @@ type: absolute timeout: 360 fail: true + +- builder: + name: autorelease-cfp + builders: + - config-file-provider: + files: + - file-id: '{autorelease-settings}' + variable: 'AUTORELEASE_SETTINGS' + - file-id: '{odl-global-settings}' + variable: 'ODL_GLOBAL_SETTINGS' + +- builder: + name: autorelease-maven-deploy + builders: + - shell: | + mkdir -p hide/from/pom/files + cd hide/from/pom/files + mkdir -p m2repo/org/ + mv /tmp/r/org/opendaylight m2repo/org/ + mvn org.sonatype.plugins:nexus-staging-maven-plugin:1.6.2:deploy-staged-repository -DrepositoryDirectory="`pwd`/m2repo" -DnexusUrl=http://nexus.opendaylight.org/ -DstagingProfileId="21a27b7f3bbb8d" -DserverId="opendaylight.weekly" -s $AUTORELEASE_SETTINGS -gs $ODL_GLOBAL_SETTINGS + +- builder: + name: autorelease-maven-sources + builders: + - maven-target: + maven-version: '{maven-version}' + pom: 'pom.xml' + goals: 'dependency:sources -l sources.log -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' + java-opts: + - '-Xmx4096m -XX:MaxPermSize=1024m' + settings: '{settings}' + global-settings: '{global-settings}' diff --git a/jjb/autorelease/autorelease-master.yaml b/jjb/autorelease/autorelease-master.yaml index 2e0c1f6a3..f6be412b7 100644 --- a/jjb/autorelease/autorelease-master.yaml +++ b/jjb/autorelease/autorelease-master.yaml @@ -27,6 +27,8 @@ project: '{project}' - autorelease-release-tag: release-tag: 'Daily' + - autorelease-release-branch: + release-branch: '{branch}' scm: - git: @@ -41,7 +43,7 @@ wrappers: - autorelease-build-timeout - ssh-agent-credentials: - user: '{ssh-credentials}' + users: '{ssh-credentials}' triggers: - timed: 'H 0 * * *' @@ -59,12 +61,8 @@ global-settings: '{odl-global-settings}' postbuilders: - - maven-target: + - autorelease-maven-sources: maven-version: '{mvn32}' - pom: 'pom.xml' - goals: 'dependency:sources -l sources.log -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' - java-opts: - - '-Xmx4096m -XX:MaxPermSize=1024m' settings: '{autorelease-settings}' global-settings: '{odl-global-settings}' - jacoco-nojava-workaround diff --git a/jjb/autorelease/include-raw-autorelease-release-versions.sh b/jjb/autorelease/include-raw-autorelease-release-versions.sh index af35ac0da..bef3204c0 100644 --- a/jjb/autorelease/include-raw-autorelease-release-versions.sh +++ b/jjb/autorelease/include-raw-autorelease-release-versions.sh @@ -10,13 +10,13 @@ ############################################################################## # RELEASE_TAG=Helium-SR2 # Example +# RELEASE_BRANCH=stable/helium # Example ./scripts/version.sh release $RELEASE_TAG git submodule foreach "git commit -am \"Release $RELEASE_TAG\" || true" git commit -am "Release $RELEASE_TAG" mkdir patches -git submodule foreach 'git format-patch --stdout origin/master > ../patches/$name.patch' +git submodule foreach 'git format-patch --stdout origin/$RELEASE_BRANCH > ../patches/$name.patch' ./scripts/fix-relativepaths.sh - -- 2.36.6