ModernFix/scripts/autorelease.sh
2023-06-19 21:07:13 -04:00

45 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
set -e
WORK_DIR=`mktemp -d`
# deletes the temp directory
function cleanup {
cd $HOME
rm -rf "$WORK_DIR"
}
trap cleanup EXIT
# clone ModernFix repo
echo "downloading temporary modernfix..."
cd $WORK_DIR
git clone https://github.com/embeddedt/ModernFix mfix &>/dev/null
cd mfix
# gather version list
readarray -t all_versions < <(git ls-remote --heads origin | awk '{print $2}' | sed 's:.*/::' | sort -V)
do_release() {
echo "will now make release for $1"
git checkout $1 &>/dev/null || git checkout -b $1 &>/dev/null
echo "we think the current tag is $(git describe --tags --abbrev=0)"
echo "the current commit head is $(git rev-parse HEAD)"
read -p "new tag name: " tag_name
git tag -a $tag_name -m "$tag_name"
git push --tags
gh release create $tag_name --target $1 --title "$tag_name" --notes ""
}
for version in "${all_versions[@]}"; do
read -r -p "Make release on ${version} branch? [y/N] " response
case "$response" in
[yY][eE][sS]|[yY])
do_release $version
;;
*)
;;
esac
done