Skip to content

Instantly share code, notes, and snippets.

@jyemin
Last active June 3, 2022 14:47
Show Gist options
  • Save jyemin/feddfdedc737e953f32078398469434e to your computer and use it in GitHub Desktop.
Save jyemin/feddfdedc737e953f32078398469434e to your computer and use it in GitHub Desktop.
#!/bin/bash
set -o errexit # Exit the script with error if any of the commands fail
if [ "$#" -lt 2 ] || [ "$#" -gt 3 ]; then
echo "Usage: $0 <release version> <pre-release suffix> <remote (defaults to origin)>" >&2
exit 1
fi
CURRENT=$1-SNAPSHOT
RELEASE=$1-$2
REMOTE=${3:-origin}
BRANCH=$(git rev-parse --abbrev-ref HEAD)
echo "Current snapshot: ${CURRENT}"
echo "Release: ${RELEASE}"
echo "Remote: ${REMOTE}"
echo "Branch: ${BRANCH}"
# Update to pre-release version
echo "Updating build.gradle to release version ${RELEASE}"
sed -i '' "s/version = '${CURRENT}'/version = '${RELEASE}'/g" build.gradle
git add build.gradle
git commit -m "Version: bump ${RELEASE}"
git push "${REMOTE}" "${BRANCH}"
echo "Sleeping for 5 ..."
sleep 5
# Tag it
echo "Tagging pre-release ${RELEASE}"
git tag -a r"${RELEASE}" -m "${RELEASE}"
git push "${REMOTE}" r"${RELEASE}"
echo "Sleeping for 5 ..."
sleep 5
# Update back to snapshot version
echo "Updating build.gradle to next snapshot version ${CURRENT}"
sed -i '' "s/version = '${RELEASE}'/version = '${CURRENT}'/g" build.gradle
git add build.gradle
git commit -m "Version: bump ${CURRENT}"
git push "${REMOTE}" "${BRANCH}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment