mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-16 02:02:13 -05:00
55 lines
1.0 KiB
Bash
55 lines
1.0 KiB
Bash
#!/bin/bash
|
|
|
|
function pretty() {
|
|
local blue="\033[34m"
|
|
local reset="\033[0m"
|
|
while read line; do
|
|
echo -e "${blue}[publishing]${reset} ${line}"
|
|
done
|
|
}
|
|
|
|
function warn() {
|
|
local orange="\033[33m"
|
|
local reset="\033[0m"
|
|
while read line; do
|
|
echo -e "${orange}[warning]${reset} ${line}"
|
|
done
|
|
}
|
|
|
|
function get_sha(){
|
|
REF=$(git log -n 1 -- VERSION --name-only)
|
|
SHA=$(echo $REF | awk '{ print $2 }')
|
|
|
|
echo "checking out ${SHA}" | pretty
|
|
|
|
git checkout $SHA
|
|
}
|
|
|
|
function get_version(){
|
|
VERSION=$(python setup.py --version)
|
|
echo "latest version is ${VERSION}" | pretty
|
|
}
|
|
|
|
function push_tag_or_die(){
|
|
TAG_EXISTS=$(git tag | grep -G "^${VERSION}$")
|
|
if [ "$TAG_EXISTS" ]; then
|
|
echo "Tag already exists, exiting" | warn
|
|
exit 0
|
|
else
|
|
push_tag $VERSION
|
|
fi
|
|
}
|
|
|
|
function push_tag(){
|
|
git tag -a $VERSION -m "Version tag for ${VERSION}"
|
|
echo "Pushing tags to github ${VERSION} to Github" | pretty
|
|
git push origin --tags
|
|
}
|
|
|
|
function main(){
|
|
get_sha
|
|
get_version
|
|
push_tag_or_die
|
|
}
|
|
|
|
main |