diff --git a/HOW_TO_CUT_A_PGRX_RELEASE.md b/HOW_TO_CUT_A_PGRX_RELEASE.md index 13c04c605..788bf872d 100644 --- a/HOW_TO_CUT_A_PGRX_RELEASE.md +++ b/HOW_TO_CUT_A_PGRX_RELEASE.md @@ -1,19 +1,5 @@ ```shell -export NEW_VERSION="" -git switch develop -git fetch origin -git diff origin/develop | if [ "$0" = "" ]; then - echo "git diff found local changes on develop branch, cannot cut release." -elif [ "$NEW_VERSION" = "" ]; then - echo "No version set. Are you just copying and pasting this without checking?" -else - git pull origin develop --ff-only - git switch -c "prepare-${NEW_VERSION}" - ./update-versions.sh "${NEW_VERSION}" - git diff # sanity check the diffs - git commit -a -m "Update version to ${NEW_VERSION}" - git push --set-upstream origin "prepare-${NEW_VERSION}" -fi +./prepare-release.sh NEW_VERSION_NUMBER ``` - go make a PR to `develop` on GitHub diff --git a/prepare-release.sh b/prepare-release.sh new file mode 100755 index 000000000..e067b9bc1 --- /dev/null +++ b/prepare-release.sh @@ -0,0 +1,29 @@ +#! /usr/bin/env bash + +NEW_VERSION=$1 +if [ -z "${NEW_VERSION}" ]; then + echo "Usage: ./prepare-release.sh NEW_VERSION_NUMBER" + exit 1 +fi + +git switch develop +git fetch origin +git diff origin/develop | if [ "$0" = "" ]; then + echo "git diff found local changes on develop branch, cannot cut release." +elif [ "$NEW_VERSION" = "" ]; then + echo "No version set. Are you just copying and pasting this without checking?" +else + git pull origin develop --ff-only + git switch -c "prepare-${NEW_VERSION}" + + # exit early if the script fails + ./update-versions.sh "${NEW_VERSION}" || exit $? + + # sanity check the diffs, but not Cargo.lock files cuz ugh + git diff -- . ':(exclude)Cargo.lock' + + # send it all to github + git commit -a -m "Update version to ${NEW_VERSION}" + git push --set-upstream origin "prepare-${NEW_VERSION}" +fi +