You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aurora.apache.org by wf...@apache.org on 2017/10/30 15:03:47 UTC
aurora git commit: Add support for generating patch RCs from
non-master branches
Repository: aurora
Updated Branches:
refs/heads/master bc190641f -> 3fe5d5907
Add support for generating patch RCs from non-master branches
Reviewed at https://reviews.apache.org/r/63401/
Project: http://git-wip-us.apache.org/repos/asf/aurora/repo
Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/3fe5d590
Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/3fe5d590
Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/3fe5d590
Branch: refs/heads/master
Commit: 3fe5d5907f93995de67e63bfb11846216285337d
Parents: bc19064
Author: Bill Farner <wf...@apache.org>
Authored: Mon Oct 30 08:03:44 2017 -0700
Committer: Bill Farner <wf...@apache.org>
Committed: Mon Oct 30 08:03:44 2017 -0700
----------------------------------------------------------------------
build-support/release/release-candidate | 33 ++++++++++++++++++++++------
1 file changed, 26 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aurora/blob/3fe5d590/build-support/release/release-candidate
----------------------------------------------------------------------
diff --git a/build-support/release/release-candidate b/build-support/release/release-candidate
index 1a03d5e..a982cf7 100755
--- a/build-support/release/release-candidate
+++ b/build-support/release/release-candidate
@@ -95,12 +95,16 @@ fi
git fetch --all -q
git fetch --tags -q
+starting_git_branch=$(git rev-parse --abbrev-ref HEAD)
+
# Verify that this is a clean repository
if [[ -n "`git status --porcelain`" ]]; then
echo "ERROR: Please run from a clean git repository."
exit 1
-elif [[ "`git rev-parse --abbrev-ref HEAD`" != "master" ]]; then
- echo "ERROR: This script must be run from master."
+# A patch release may be performed from the patched git SHA, but all other releases
+# should be from master.
+elif [[ "$starting_git_branch" != "master" && "$increment_level" != 'patch' ]]; then
+ echo "ERROR: This script must be run from master when not creating a patch release"
exit 1
fi
@@ -111,7 +115,10 @@ fi
# Calculate the new version string
current_version=$(cat .auroraversion | tr '[a-z]' '[A-Z]')
-if ! [[ $current_version =~ .*-SNAPSHOT ]]; then
+# When patching a release, we may be cherry-picking on the released git tag,
+# which would not contain a -SNAPSHOT version identifier. Other releases,
+# however, should start from a git tree with a -SNAPSHOT version.
+if ! [[ $current_version =~ .*-SNAPSHOT || "$increment_level" == 'patch' ]]; then
echo "ERROR: .auroraversion is required to contain 'SNAPSHOT', it is ${current_version}"
exit 1
else
@@ -139,6 +146,13 @@ else
new_snapshot_version="${new_master_version}-SNAPSHOT"
fi
+if [[ "$increment_level" == 'patch' && "$starting_git_branch" != 'master' ]]; then
+ echo 'NOTE: This release candidate is patching a non-master branch.'
+ echo '.auroraversion will be treated as the patched release, rather'
+ echo 'than the to-be-released version.'
+ current_version="$new_master_version"
+fi
+
# Add the rc tag to the current version
rc_version="${current_version}-rc${rc_number}"
rc_version_tag="rel/${rc_version}"
@@ -159,7 +173,7 @@ function print_reset_instructions {
cat <<EOF
To roll back your local repo you will need to run:
- git checkout master
+ git checkout "$starting_git_branch"
git reset --hard ${current_git_rev}
git branch -D "stage_${rc_version_tag}"
git tag -d ${rc_version_tag}
@@ -235,9 +249,14 @@ if [[ $publish == 1 ]]; then
-m "Apache Aurora ${current_version} release candidate ${rc_version_tag}"
git push origin "${rc_version_tag}"
- echo "Pushing updated .auroraversion to master"
- git checkout master
- git push origin master
+ if [[ "$starting_git_branch" = "master" ]]; then
+ echo "Pushing updated .auroraversion to master"
+ git checkout master
+ git push origin master
+ else
+ echo 'This is a patch release not starting from master, so an updated .auroraversion'
+ echo 'will not be pushed to master.'
+ fi
fi
echo "Done creating the release candidate. The following draft email has been created"