From a92b61aca3255833b89415d5991fc10ee21057a3 Mon Sep 17 00:00:00 2001 From: suecharo Date: Thu, 18 Apr 2024 12:05:10 +0900 Subject: [PATCH] Add release script --- release.sh | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 release.sh diff --git a/release.sh b/release.sh new file mode 100644 index 0000000..0cac704 --- /dev/null +++ b/release.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash + +# Update version and tag for release. +# Usage: ./release.sh + +set -euxo pipefail + +if [[ $# -lt 1 ]]; then + echo "Usage: $0 " + exit 1 +fi + +PREV_VERSION=$(git describe --abbrev=0 --tags) +NEW_VERSION=$1 + +read -p "Does update version from $PREV_VERSION to $NEW_VERSION? (y/n) :" YN + +if [[ "$YN" != "y" ]]; then + echo "Aborted." + exit 1 +fi + +NOW_BRANCH=$(git rev-parse --abbrev-ref HEAD) + +if [[ "$NOW_BRANCH" != "main" ]]; then + echo "You must be on main branch." + git checkout main +fi + +echo "Merge develop branch to main branch." +git merge develop + +echo "Rewrite files." +sed -i "s/version=\"$PREV_VERSION\"/version=\"$NEW_VERSION\"/g" Dockerfile +sed -i "s/zuke:$PREV_VERSION/zuke:$NEW_VERSION/g" compose.yml +sed -i "s/\"version\": \"$PREV_VERSION\"/\"version\": \"$NEW_VERSION\"/g" package.json + +echo "Commit and push." +git add Dockerfile compose.yml package.json +git commit -m "Update version to $NEW_VERSION" +git push origin main + +echo "Tag and push." +git tag $NEW_VERSION +git push origin $NEW_VERSION + +echo "Merge main branch to develop branch." +git checkout develop +git merge main +git push origin develop + +echo "Done." + +echo "Summary of changes." +git log --oneline --pretty=tformat:"%h %s" "$PREV_VERSION..$NEW_VERSION" + +exit 0