Merge pull request #11988 from bergquist/tag_release_script

build: script for tagging and pushing a release
This commit is contained in:
Carl Bergquist 2018-05-18 16:37:11 +02:00 committed by GitHub
commit dd8c50e140
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

40
scripts/tag_release.sh Executable file
View File

@ -0,0 +1,40 @@
#/bin/bash
# abort if we get any error
set -e
_tag=$1
_branch="$(git rev-parse --abbrev-ref HEAD)"
if [ "${_tag}" == "" ]; then
echo "Missing version param. ex './scripts/tag_release.sh v5.1.1'"
exit 1
fi
if [ "${_branch}" == "master" ]; then
echo "you cannot tag releases from the master branch"
echo "please checkout the release branch"
echo "ex 'git checkout v5.1.x'"
exit 1
fi
# always make sure to pull latest changes from origin
echo "pulling latest changes from ${_branch}"
git pull origin ${_branch}
# create signed tag for latest commit
git tag -s "${_tag}" -m "release ${_tag}"
# verify the signed tag
git tag -v "${_tag}"
echo "Make sure the tag is signed as expected"
echo "press [y] to push the tags"
read -n 1 confirm
if [ "${confirm}" == "y" ]; then
git push origin "${_branch}" --tags
else
echo "Abort! "
fi