From 5b3b254a812aeee1836dc8f8cf1c4ad9de52b82d Mon Sep 17 00:00:00 2001 From: GrantBirki Date: Tue, 31 Oct 2023 17:50:45 -0600 Subject: [PATCH] add release helper script --- script/release | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 script/release diff --git a/script/release b/script/release new file mode 100644 index 0000000..18cca85 --- /dev/null +++ b/script/release @@ -0,0 +1,30 @@ +#!/bin/bash + +# Usage: +# script/release + +# COLORS +OFF='\033[0m' +RED='\033[0;31m' +GREEN='\033[0;32m' +BLUE='\033[0;34m' + +latest_tag=$(git describe --tags $(git rev-list --tags --max-count=1)) +echo -e "The latest release tag is: ${BLUE}${latest_tag}${OFF}" +read -p 'New Release Tag (vX.X.X format): ' new_tag + +tag_regex='^v\d\.\d\.\d$' +echo "$new_tag" | grep -P -q $tag_regex + +if [[ $? -ne 0 ]]; then + echo "Tag: $new_tag is valid" +fi + +git tag -a $new_tag -m "$new_tag Release" + +echo -e "${GREEN}OK${OFF} - Tagged: $new_tag" + +git push --tags + +echo -e "${GREEN}OK${OFF} - Tags pushed to remote!" +echo -e "${GREEN}DONE${OFF}"