| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- #/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
|