Create bundles for autorelease post release tagging 63/40063/4
authorThanh Ha <thanh.ha@linuxfoundation.org>
Wed, 8 Jun 2016 17:58:09 +0000 (13:58 -0400)
committerThanh Ha <thanh.ha@linuxfoundation.org>
Thu, 9 Jun 2016 00:29:19 +0000 (20:29 -0400)
Start treating all releases as possible release candadites which can be
released at any time the TSC approves a release. All autorelease jobs
will now contain an additional variable *next-release-tag* to signify
the next official release version.

See mailing list discussion thread here:
https://lists.opendaylight.org/pipermail/release/2016-April/006299.html

The release engineer can pull down the bundle files and run:

    git fetch /path/to/project.bundle
    git checkout FETCH_HEAD
    git tag -asm "OpenDaylight [release] release" release/[release]
    git push gerrit release/[release]

To push the build tags to Gerrit. This should cut back on the amount of
patches needing to be pushed to Gerrit for review by half and only the
x.y.z-SNAPSHOT patches need to be pushed.

Change-Id: I53bb95236e41c7e99a12c312e5158db51a9f4e67
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
jjb-templates/validate-autorelease.yaml
jjb/autorelease/autorelease-macros.yaml
jjb/autorelease/autorelease-projects.yaml
jjb/autorelease/autorelease-templates.yaml
jjb/autorelease/include-raw-autorelease-release-versions.sh

index f80aa45ed48e741f3dcd587c8186a8ee58a2d709..3e3ccc2814747405972ca92520765267464b9532 100644 (file)
@@ -24,8 +24,6 @@
             release-tag: 'validate'
         - autorelease-release-branch:
             release-branch: '{branch}'
-        - autorelease-release-datestamp:
-            datestamp: true
         - string:
             name: CLONE_URL
             default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
index 8f7793eea205b4d5f6735901b0a421bd0441f7bf..40e4e952dbb42eace6e461aa5f8d30f44a642da0 100644 (file)
             default: '{release-branch}'
             description: "The Release train branch to base build off eg. stable/beryllium"
 
-- parameter:
-    name: autorelease-release-datestamp
-    parameters:
-        - bool:
-            name: DATESTAMP
-            default: '{datestamp}'
-            description: "Whether to include a datestamp or not"
-
 - wrapper:
     name: autorelease-build-timeout
     wrappers:
     name: autorelease-generate-taglist
     builders:
         - shell: |
-            git submodule foreach 'echo $path `git rev-parse --verify HEAD` ${RELEASE_TAG} >> ../taglist.log'
+            git submodule foreach 'echo $path `git rev-parse --verify HEAD` ${RELEASE_TAG} | tee -a $WORKSPACE/taglist.log'
 
 - builder:
     name: autorelease-generate-release-patches
index 233219097a468981bd23256675d3065272e8f26e..825c8313996b37aa6e887839ef1cfabf43cbc4b5 100644 (file)
@@ -8,14 +8,17 @@
 
     stream:
     - boron:
+        next-release-tag: Boron
         branch: 'master'
         jdk: 'openjdk8'
         integration-test: boron
     - beryllium:
+        next-release-tag: Beryllium-SR3
         branch: 'stable/beryllium'
         jdk: 'openjdk7'
         integration-test: beryllium
     - lithium:
+        next-release-tag: Lithium-SR5
         branch: 'stable/lithium'
         jdk: 'openjdk7'
         integration-test: stable-lithium
index a901f463487f4bdcca7bc0528c33793c98e3b6a1..8eec73145cf6ec8afcc07be0c116e4e1ed23df24 100644 (file)
         - project-parameter:
             project: '{project}'
         - autorelease-release-tag:
-            release-tag: '{stream}-daily'
+            release-tag: '{next-release-tag}'
         - autorelease-release-branch:
             release-branch: '{branch}'
-        - autorelease-release-datestamp:
-            datestamp: true
 
     scm:
         - git:
@@ -75,7 +73,7 @@
 
     publishers:
     - archive-artifacts:
-        artifacts: '*.prop,*.log,patches/*.patch,patches/*.log'
+        artifacts: '*.prop,*.log,patches/*.bundle,patches/*.patch,patches/*.log'
     - email-notification:
         email-prefix: '[autorelease]'
     - trigger-parameterized-builds:
index 118ed71bebe1a42e6590d6a6d3902863bcbe0989..3673c01669da4cf36515f1812982cc749a31d3c0 100644 (file)
@@ -9,17 +9,12 @@
 # http://www.eclipse.org/legal/epl-v10.html
 ##############################################################################
 
-# DATESTAMP=true  # Example
 # RELEASE_TAG=Beryllium-SR1  # Example
 # RELEASE_BRANCH=stable/beryllium  # Example
 
 # Directory to put git format-patches
 PATCH_DIR=`pwd`/patches
 
-if [ "$DATESTAMP" == "true" ]; then
-   export RELEASE_TAG=$RELEASE_TAG-`date -u +v%Y%m%d%H%M`
-fi
-
 echo $RELEASE_TAG
 ./scripts/version.sh release $RELEASE_TAG
 git submodule foreach "git commit -am \"Release $RELEASE_TAG\" || true"
@@ -31,6 +26,7 @@ modules=`xmlstarlet sel -N x=http://maven.apache.org/POM/4.0.0 -t -m '//x:module
 for module in $modules; do
     pushd $module
     git format-patch --stdout origin/$RELEASE_BRANCH > $PATCH_DIR/${module//\//-}.patch
+    git bundle create $PATCH_DIR/${module//\//-}.bundle "origin/master..HEAD"
     popd
 done