Last active
August 5, 2020 08:37
-
-
Save uolter/518421cffe050f1ea6a4e52d68723b07 to your computer and use it in GitHub Desktop.
Bash script to create a Release with updated CHANGELOG file
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
latest_tags () { | |
echo "Latest tags!" | |
git describe --tags `git rev-list --tags --max-count=3` | |
echo "Status" | |
git status -uno | |
} | |
release () { | |
echo ".creating release $1" | |
# Tag the current branch | |
echo "Create first tag" | |
git tag -a $1 -m "Release: $1" | |
# Create changlog | |
npx auto-changelog --commit-limit false --unreleased | |
# Add the change log file: | |
git add CHANGELOG.md | |
# Commit changelog | |
git commit -m "Release: $1" | |
# push the changelog file. | |
git push orgin master | |
# Delete tag | |
git tag -d $1 | |
# Recreate tag | |
git tag -a $1 -m "Release: $1" | |
# push the tag | |
git push origin $1 | |
# push to branch the CHANGELOG.md | |
git push origin $2 | |
} | |
dir=$(pwd) | |
echo "Working directory $dir" | |
latest_tags | |
echo "Type the relese number (eg: v2.0.1)" | |
read rel | |
if [ -z "$rel" ] | |
then | |
echo "$rel is not a valid release!!" | |
exit -1 | |
fi | |
branch=$(git rev-parse --abbrev-ref HEAD) | |
if [ $branch != "master" ] | |
then | |
echo "Warning !!! you are not in master branch." | |
echo "Current branch $branch" | |
else | |
echo "Did you run: >> git pull origin master? " | |
fi | |
echo "Proceed to create release $rel?" | |
echo "Continue Yes(y) or No(n)" | |
read accept | |
if [ $accept != "y" ] | |
then | |
exit 0 | |
fi | |
release $rel $branch |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment