You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by si...@apache.org on 2018/06/14 18:01:22 UTC

[bookkeeper] 02/02: Update release procedure to use candidate tags for voting

This is an automated email from the ASF dual-hosted git repository.

sijie pushed a commit to branch branch-4.7
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git

commit 07338b38d48193ca8ba398c162aba293ce94c9fb
Author: Sijie Guo <si...@apache.org>
AuthorDate: Wed May 30 00:56:40 2018 -0700

    Update release procedure to use candidate tags for voting
    
    Descriptions of the changes in this PR:
    
    *Motivation*
    
    We used final release tag during release voting procedure. However there might be changes
    happen between different candidate votes. So we ended up retagging the release tag for
    different votes.
    
    *Solution*
    
    Use a candidate tag for voting. After a release is approved, create the final release tag.
    
    Author: Sijie Guo <si...@apache.org>
    
    Reviewers: Ivan Kelly <iv...@apache.org>, Enrico Olivelli <eo...@gmail.com>, Jia Zhai <None>
    
    This closes #1451 from sijie/update_release_guid
---
 dev/release/000-run-docker.sh                         |  3 +++
 dev/release/002-release-prepare.sh                    |  2 +-
 ...{002-release-prepare.sh => 005-cleanup-rc-tags.sh} | 11 ++++-------
 site/community/release_guide.md                       | 19 +++++++++++++++++++
 4 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/dev/release/000-run-docker.sh b/dev/release/000-run-docker.sh
index 5ec4c46..255a6a2 100755
--- a/dev/release/000-run-docker.sh
+++ b/dev/release/000-run-docker.sh
@@ -71,6 +71,7 @@ DEVELOPMENT_VERSION="${NEXT_VERSION}-SNAPSHOT"
 
 TAG="release-${VERSION}"
 RC_DIR="bookkeeper-${VERSION}-rc${RC_NUM}"
+RC_TAG="v${VERSION}-rc${RC_NUM}"
 
 CMD="
 gpg-agent --daemon --pinentry-program /usr/bin/pinentry --homedir \$HOME/.gnupg --use-standard-socket
@@ -89,6 +90,7 @@ echo 'BRANCH_NAME               = $BRANCH_NAME'
 echo 'TAG                       = $TAG'
 echo 'RC_NUM                    = $RC_NUM'
 echo 'RC_DIR                    = $RC_DIR'
+echo 'RC_TAG                    = $RC_TAG'
 echo
 echo 'Before executing any release scripts, PLEASE configure your git to cache your github password:'
 echo
@@ -114,6 +116,7 @@ docker run -i -t \
   -e DEVELOPMENT_VERSION=${DEVELOPMENT_VERSION} \
   -e RC_NUM=${RC_NUM} \
   -e TAG=${TAG} \
+  -e RC_TAG=${RC_TAG} \
   -e RC_DIR=${RC_DIR} \
   ${IMAGE_NAME}-${USER_NAME} \
   bash -c "${CMD}"
diff --git a/dev/release/002-release-prepare.sh b/dev/release/002-release-prepare.sh
index ed684ad..232fb50 100755
--- a/dev/release/002-release-prepare.sh
+++ b/dev/release/002-release-prepare.sh
@@ -24,7 +24,7 @@ cd $BK_HOME
 
 mvn release:prepare \
     -DreleaseVersion=${VERSION} \
-    -Dtag=${TAG} \
+    -Dtag=${RC_TAG} \
     -DupdateWorkingCopyVersions=false \
     -Darguments="-Dmaven.javadoc.skip=true -DskipTests=true -Dstream" \
     -Dstream \
diff --git a/dev/release/002-release-prepare.sh b/dev/release/005-cleanup-rc-tags.sh
similarity index 79%
copy from dev/release/002-release-prepare.sh
copy to dev/release/005-cleanup-rc-tags.sh
index ed684ad..ddb8840 100755
--- a/dev/release/002-release-prepare.sh
+++ b/dev/release/005-cleanup-rc-tags.sh
@@ -22,10 +22,7 @@ BK_HOME=`cd $BINDIR/../..;pwd`
 
 cd $BK_HOME
 
-mvn release:prepare \
-    -DreleaseVersion=${VERSION} \
-    -Dtag=${TAG} \
-    -DupdateWorkingCopyVersions=false \
-    -Darguments="-Dmaven.javadoc.skip=true -DskipTests=true -Dstream" \
-    -Dstream \
-    -Dresume=true 
+for num in $(seq 0 $RC_NUM); do
+    git tag -d "v${VERSION}-rc${num}"
+    git push apache :"v${VERSION}-rc${num}"
+done
diff --git a/site/community/release_guide.md b/site/community/release_guide.md
index 794c03f..b8ae231 100644
--- a/site/community/release_guide.md
+++ b/site/community/release_guide.md
@@ -263,6 +263,7 @@ Set up a few environment variables to simplify Maven commands that follow. This
     RC_NUM="0"
     TAG="release-${VERSION}"
     RC_DIR="bookkeeper-${VERSION}-rc${RC_NUM}"
+    RC_TAG="v${VERSION}-rc${RC_NUM}"
 
 > Please make sure `gpg` command is in your $PATH. The maven release plugin use `gpg` to sign generated jars and packages.
 
@@ -445,6 +446,24 @@ Copy the source release from the `dev` repository to the `release` repository at
 
     svn move https://dist.apache.org/repos/dist/dev/bookkeeper/bookkeeper-${VERSION}-rc${RC_NUM} https://dist.apache.org/repos/dist/release/bookkeeper/bookkeeper-${VERSION}
 
+### Git tag
+
+Create and push a new signed for the released version by copying the tag for the final release tag, as follows
+
+```shell
+git tag -s "${TAG}" "${RC_TAG}"
+git push apache "${TAG}"
+```
+
+Remove rc tags:
+
+```shell
+for num in $(seq 0 ${RC_NUM}); do
+    git tag -d "v${VERSION}-rc${num}"
+    git push apache :"v${VERSION}-rc${num}"
+done
+```
+
 ### Update Website
 
 1. Create the documentation for `${VERSION}`. Run the `release.sh` to generate the branch for `${VERSION}` and bump

-- 
To stop receiving notification emails like this one, please contact
sijie@apache.org.