You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ka...@apache.org on 2017/11/14 21:27:31 UTC

mesos git commit: Updated RC tagging+voting mechanism.

Repository: mesos
Updated Branches:
  refs/heads/master bb2deb3ba -> 69a75519a


Updated RC tagging+voting mechanism.

Updated RC tagging+voting mechanism by eliminating duplicated work in
tag/vote scripts. The vote script has been updated to incorporate the
steps from tag.sh.

Review: https://reviews.apache.org/r/62166


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/69a75519
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/69a75519
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/69a75519

Branch: refs/heads/master
Commit: 69a75519aa1b4005d387e4d8b1383ada050b1748
Parents: bb2deb3
Author: Kapil Arya <ka...@mesosphere.io>
Authored: Thu Sep 7 13:37:51 2017 -0400
Committer: Kapil Arya <ka...@mesosphere.io>
Committed: Tue Nov 14 16:26:53 2017 -0500

----------------------------------------------------------------------
 docs/release-guide.md | 39 +++++++--------------
 support/tag.sh        | 85 ----------------------------------------------
 support/vote.sh       | 16 ++++++---
 3 files changed, 23 insertions(+), 117 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/69a75519/docs/release-guide.md
----------------------------------------------------------------------
diff --git a/docs/release-guide.md b/docs/release-guide.md
index fa60728..d772bca 100644
--- a/docs/release-guide.md
+++ b/docs/release-guide.md
@@ -141,7 +141,7 @@ This guide describes the process of doing an official release of Mesos.
    identified.
 
 
-## Tagging the Release Candidate
+## Tagging and Voting the Release Candidate
 
 1. Ensure that you can build and pass all the tests.
 
@@ -161,19 +161,24 @@ This guide describes the process of doing an official release of Mesos.
 
 4. Tag the release externally and deploy the corresponding JAR to the
    [Apache maven repository](https://repository.apache.org). It is recommended
-   to use the `support/tag.sh` script to accomplish this.
+   to use the `support/vote.sh` script to accomplish this.
 
-        $ ./support/tag.sh X.Y.Z R
+        $ ./support/vote.sh X.Y.Z R
 
    **NOTE:** This script assumes that you have the requisite permissions to
    deploy the JAR. For instructions on how to set it up, please refer to
    `src/java/MESOS-MAVEN-README`.
 
-   **NOTE:** gnu-sed (Linux) requires `-i''` instead of the `-i ''`
-   (space-separated) that default OSX uses. You may need to modify your local
-   copy of `tag.sh` for it to complete successfully.
+5. The script also spits out an email template that you could use to
+   send the vote email.
 
-5. If this is a regular release, create a new release branch (<major>.<minor>.x)
+   **NOTE:** The `date -v+3d` command does not work on some platforms (e.g.
+   Ubuntu), so you may need to fill in the vote end date manually. The vote
+   should last for 3 business days instead of 3 calendar days anyway. Sometimes
+   we allow a longer vote, to allow more time for integration testing.
+
+
+6. If this is a regular release, create a new release branch (<major>.<minor>.x)
    from this tag.
 
         $ git checkout -b X.Y.x
@@ -184,26 +189,6 @@ This guide describes the process of doing an official release of Mesos.
    `set(MESOS_PATCH_VERSION Z)` and then commit.
 
 
-## Voting the Release Candidate
-
-1. Once a release candidate is deemed worthy to be officially released you
-   should call a vote on the `dev@mesos.apache.org` (and optionally
-   `user@mesos.apache.org`) mailing list.
-
-2. It is recommended to use the `support/vote.sh` script to vote the release
-   candidate.
-
-        $ ./support/vote.sh X.Y.Z R
-
-3. The release script also spits out an email template that you could use to
-   send the vote email.
-
-   **NOTE:** The `date -v+3d` command does not work on some platforms (e.g.
-   Ubuntu), so you may need to fill in the vote end date manually. The vote
-   should last for 3 business days instead of 3 calendar days anyway. Sometimes
-   we allow a longer vote, to allow more time for integration testing.
-
-
 ## Preparing a New Release Candidate
 
 1. If the vote does not pass (any -1s or showstopper bugs), track the issues

http://git-wip-us.apache.org/repos/asf/mesos/blob/69a75519/support/tag.sh
----------------------------------------------------------------------
diff --git a/support/tag.sh b/support/tag.sh
deleted file mode 100755
index 0ff90cb..0000000
--- a/support/tag.sh
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/usr/bin/env bash
-
-# This script should be used to publish a local tag of the release
-# candidate to the Apache mesos repo. In addition this script also
-# publishes the corresponding mesos jar to a Maven repo.
-
-set -e
-
-# Use 'atexit' for cleanup.
-. $(dirname ${0})/atexit.sh
-
-# Use colors for errors.
-. $(dirname ${0})/colors.sh
-
-test ${#} -eq 2 || \
-  { echo "Usage: `basename ${0}` [version] [candidate]"; exit 1; }
-
-VERSION=${1}
-CANDIDATE=${2}
-TAG="${VERSION}-rc${CANDIDATE}"
-
-echo "${GREEN}Tagging ${TAG}${NORMAL}"
-
-read -p "Hit enter to continue ... "
-
-WORK_DIR=`mktemp -d /tmp/mesos-tag-XXXX`
-atexit "rm -rf ${WORK_DIR}"
-
-# Get the absolute path of the local git clone.
-MESOS_GIT_LOCAL=$(cd "$(dirname $0)"/..; pwd)
-
-pushd ${WORK_DIR}
-
-# Make a shallow clone from the local git repository.
-git clone --shared ${MESOS_GIT_LOCAL} --branch ${TAG} mesos
-
-pushd mesos
-
-# Ensure configure.ac has the correct version.
-echo "Confirming that configure.ac contains ${VERSION}"
-grep "\[mesos\], \[${VERSION}\]" configure.ac
-
-echo "${GREEN}Updating configure.ac to include the release candidate.${NORMAL}"
-sed -i '' "s/\[mesos\], \[.*\]/[mesos], [${TAG}]/" configure.ac
-
-# Build mesos.
-./bootstrap
-mkdir build
-pushd build
-../configure --disable-optimize
-
-# First build the protobuf compiler.
-# TODO(vinod): This is short term fix for MESOS-959.
-pushd 3rdparty
-make -j3
-popd
-
-# Build and deploy the jar.
-make -j3 maven-install
-mvn deploy -f src/java/mesos.pom
-
-echo "${GREEN}Successfully deployed the jar to staging maven repository ...${NORMAL}"
-
-read  -p "Please *close* and *release* the staging repository and hit enter to continue ..."
-
-input=""
-while [ ! ${input:-n} = "y" ]; do
-  read -p "Have you released the maven repository? (y/n): " input
-  [ ${input:-n} = "y" ] || echo "Please release the staging maven repository before continuing"
-done
-
-popd # build
-
-echo "${GREEN}Pushing the git tag to the repository...${NORMAL}"
-
-MESOS_GIT_URL="https://git-wip-us.apache.org/repos/asf/mesos.git"
-
-git push ${MESOS_GIT_URL} refs/tags/${TAG}
-
-popd # mesos
-popd # ${WORK_DIR}
-
-echo "${GREEN}Success!${NORMAL}"
-
-exit 0

http://git-wip-us.apache.org/repos/asf/mesos/blob/69a75519/support/vote.sh
----------------------------------------------------------------------
diff --git a/support/vote.sh b/support/vote.sh
index 98643a1..e9a2347 100755
--- a/support/vote.sh
+++ b/support/vote.sh
@@ -19,21 +19,24 @@ VERSION=${1}
 CANDIDATE=${2}
 TAG="${VERSION}-rc${CANDIDATE}"
 
-echo "${GREEN}Voting for mesos-${VERSION} candidate ${CANDIDATE}${NORMAL}"
+echo "${GREEN}Tagging and Voting for mesos-${VERSION} candidate ${CANDIDATE}${NORMAL}"
 
 read -p "Hit enter to continue ... "
 
 MESOS_GIT_URL="https://git-wip-us.apache.org/repos/asf/mesos.git"
 
-WORK_DIR=`mktemp -d /tmp/mesos-vote-XXXX`
+# Get the absolute path of the local git clone.
+MESOS_GIT_LOCAL=$(cd "$(dirname $0)"/..; pwd)
+
+WORK_DIR=`mktemp -d /tmp/mesos-tag-vote-XXXX`
 atexit "rm -rf ${WORK_DIR}"
 
 pushd ${WORK_DIR}
 
 echo "${GREEN}Checking out ${TAG}${NORMAL}"
 
-# First checkout the release tag.
-git clone --depth 1 --branch ${TAG} ${MESOS_GIT_URL}
+# Make a shallow clone from the local git repository.
+git clone --shared ${MESOS_GIT_LOCAL} --branch ${TAG} mesos
 
 pushd mesos
 
@@ -64,6 +67,9 @@ while [ -z ${MAVEN_REPO} ]; do
   read  -p "Please *close* the staging repository and provide its URL here: " MAVEN_REPO
 done
 
+echo "${GREEN}Pushing the git tag to the repository...${NORMAL}"
+git push ${MESOS_GIT_URL} refs/tags/${TAG}
+
 # Build the distribution.
 echo "${GREEN}Building the distribution ...${NORMAL}"
 make -j3 dist
@@ -144,7 +150,7 @@ ${SVN_DEV_REPO}/${TAG}/${TARBALL}.asc
 The PGP key used to sign the release is here:
 https://dist.apache.org/repos/dist/release/mesos/KEYS
 
-The JAR is up in Maven in a staging repository here:
+The JAR is in a staging repository here:
 ${MAVEN_REPO}
 
 Please vote on releasing this package as Apache Mesos ${VERSION}!