From 826e3a4c9927d87e7ff065ecd687f8de5264f5e6 Mon Sep 17 00:00:00 2001 From: Holden Karau Date: Thu, 28 May 2020 11:55:57 -0700 Subject: [PATCH 1/5] Change build to only push tags on success --- dev/create-release/do-release.sh | 8 ++++++++ dev/create-release/release-tag.sh | 5 +---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/dev/create-release/do-release.sh b/dev/create-release/do-release.sh index f1d4f3ab5ddec..00efb10a88f6b 100755 --- a/dev/create-release/do-release.sh +++ b/dev/create-release/do-release.sh @@ -17,6 +17,8 @@ # limitations under the License. # +set -e + SELF=$(cd $(dirname $0) && pwd) . "$SELF/release-util.sh" @@ -79,3 +81,9 @@ if should_build "publish"; then else echo "Skipping publish step." fi + +if should_build "tag" && [ $SKIP_TAG = 0 ]; then + # Push the tag after success + git push origin "$RELEASE_TAG" + git push origin "HEAD:$GIT_BRANCH" +fi diff --git a/dev/create-release/release-tag.sh b/dev/create-release/release-tag.sh index 8024440759eb5..c51316875e196 100755 --- a/dev/create-release/release-tag.sh +++ b/dev/create-release/release-tag.sh @@ -24,7 +24,7 @@ function exit_with_usage { local NAME=$(basename $0) cat << EOF usage: $NAME -Tags a Spark release on a particular branch. +Tags a Spark release on a particular branch. Must push after Inputs are specified with the following environment variables: ASF_USERNAME - Apache Username @@ -102,9 +102,6 @@ sed -i".tmp7" 's/SPARK_VERSION_SHORT:.*$/SPARK_VERSION_SHORT: '"$R_NEXT_VERSION" git commit -a -m "Preparing development version $NEXT_VERSION" if ! is_dry_run; then - # Push changes - git push origin $RELEASE_TAG - git push origin HEAD:$GIT_BRANCH cd .. rm -rf spark From afa5d90114e42f035608b32319b785fdf23eb42a Mon Sep 17 00:00:00 2001 From: Holden Karau Date: Thu, 28 May 2020 12:54:52 -0700 Subject: [PATCH 2/5] Don't delete the checkout we just did in the previous step --- dev/create-release/release-build.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dev/create-release/release-build.sh b/dev/create-release/release-build.sh index 1fd8a30f605f0..3c287fdd36b9c 100755 --- a/dev/create-release/release-build.sh +++ b/dev/create-release/release-build.sh @@ -92,9 +92,12 @@ BASE_DIR=$(pwd) init_java init_maven_sbt -rm -rf spark -git clone "$ASF_REPO" +# Only clone the repo fresh when not present, otherwise use checkout +if [ ! -d spark ]; then + git clone "$ASF_REPO" +fi cd spark +git fetch git checkout $GIT_REF git_hash=`git rev-parse --short HEAD` echo "Checked out Spark git hash $git_hash" From d26c7353e01442459f0c9d17dd013d0f61f2ad02 Mon Sep 17 00:00:00 2001 From: Holden Karau Date: Thu, 28 May 2020 12:57:42 -0700 Subject: [PATCH 3/5] Don't tell people to wait for a tag that won't show up :p --- dev/create-release/do-release.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/dev/create-release/do-release.sh b/dev/create-release/do-release.sh index 00efb10a88f6b..9ff2222dd772e 100755 --- a/dev/create-release/do-release.sh +++ b/dev/create-release/do-release.sh @@ -54,9 +54,6 @@ function should_build { if should_build "tag" && [ $SKIP_TAG = 0 ]; then run_silent "Creating release tag $RELEASE_TAG..." "tag.log" \ "$SELF/release-tag.sh" - echo "It may take some time for the tag to be synchronized to github." - echo "Press enter when you've verified that the new tag ($RELEASE_TAG) is available." - read else echo "Skipping tag creation for $RELEASE_TAG." fi From 9bd1dca998926cfc7becb0737f58942c2ba5a770 Mon Sep 17 00:00:00 2001 From: Holden Karau Date: Mon, 1 Jun 2020 10:50:34 -0700 Subject: [PATCH 4/5] Fix the is_dry_run logic (although I'm suspcious of our dry_run support because when I was doing the 2.4.6 release I found dry_run was still pushing tags so I think something else is broken there but that's a seperate thing to poke at) --- dev/create-release/release-tag.sh | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/dev/create-release/release-tag.sh b/dev/create-release/release-tag.sh index c51316875e196..98039490503ed 100755 --- a/dev/create-release/release-tag.sh +++ b/dev/create-release/release-tag.sh @@ -101,11 +101,8 @@ sed -i".tmp7" 's/SPARK_VERSION_SHORT:.*$/SPARK_VERSION_SHORT: '"$R_NEXT_VERSION" git commit -a -m "Preparing development version $NEXT_VERSION" -if ! is_dry_run; then - - cd .. - rm -rf spark -else +cd .. +if is_dry_run; then cd .. mv spark spark.tag echo "Clone with version changes and tag available as spark.tag in the output directory." From dd9e4a475d49d2ef7a1166c01889a4b9318baa2f Mon Sep 17 00:00:00 2001 From: Holden Karau Date: Mon, 1 Jun 2020 15:56:39 -0700 Subject: [PATCH 5/5] Fix the relase tag dry run spark dir rename --- dev/create-release/release-tag.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/dev/create-release/release-tag.sh b/dev/create-release/release-tag.sh index 98039490503ed..517c7f7e4fb0c 100755 --- a/dev/create-release/release-tag.sh +++ b/dev/create-release/release-tag.sh @@ -101,7 +101,6 @@ sed -i".tmp7" 's/SPARK_VERSION_SHORT:.*$/SPARK_VERSION_SHORT: '"$R_NEXT_VERSION" git commit -a -m "Preparing development version $NEXT_VERSION" -cd .. if is_dry_run; then cd .. mv spark spark.tag