mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-23 06:50:04 +08:00
39 lines
1.1 KiB
Bash
39 lines
1.1 KiB
Bash
#/bin/bash
|
|
REPO="nvim-neo-tree/neo-tree.nvim"
|
|
LAST_VERSION=$(curl --silent "https://api.github.com/repos/$REPO/releases/latest" | jq -r .tag_name)
|
|
echo "LAST_VERSION=$LAST_VERSION"
|
|
MAJOR=$(cut -d. -f1 <<<"$LAST_VERSION")
|
|
MINOR=$(cut -d. -f2 <<<"$LAST_VERSION")
|
|
echo
|
|
|
|
RELEASE_BRANCH="${1:-v${MAJOR}.x}"
|
|
echo "RELEASE_BRANCH=$RELEASE_BRANCH"
|
|
NEXT_VERSION=$MAJOR.$((MINOR+1))
|
|
NEW_VERSION="${2:-${NEXT_VERSION}}"
|
|
echo "NEW_VERSION=$NEW_VERSION"
|
|
echo
|
|
|
|
read -p "Are you sure you want to publish this release? " -n 1 -r
|
|
echo # (optional) move to a new line
|
|
if [[ ! $REPLY =~ ^[Yy]$ ]]
|
|
then
|
|
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1 # handle exits from shell or function but don't exit interactive shell
|
|
fi
|
|
|
|
git fetch
|
|
git checkout main
|
|
git pull
|
|
echo "Merging to ${RELEASE_BRANCH}"
|
|
git checkout $RELEASE_BRANCH
|
|
git pull
|
|
if git merge --ff-only origin/main; then
|
|
git push
|
|
git tag -a $NEW_VERSION -m "Release ${NEW_VERSION}"
|
|
git push origin $NEW_VERSION
|
|
echo "Creating Release"
|
|
gh release create $NEW_VERSION --generate-notes
|
|
else
|
|
echo "RELEASE FAILED! Could not fast-forward release to $RELEASE_BRANCH"
|
|
fi
|
|
git checkout main
|