Skip to content
Snippets Groups Projects
Commit 558cc792 authored by sguazt's avatar sguazt
Browse files

Bumped version number to 1.0.0

parent 46862461
No related branches found
No related tags found
No related merge requests found
1.0.0
#!/bin/bash
#
# Simple script to create a new release in a Git repository.
#
# Increase the version number and update the Git repo with the new version
# number and a new annotated tag marking the new release.
#
# By default, this script reads version number from the `VERSION` file and
# increments the patch level (i.e., if `VERSION` contains `maj.min.pat`, this
# scripts will create a release for version `maj.min.(pat+1)`).
#
# Usage:
# <script name> <release-type> [<version-file>]
# where:
# - <release-type>: the type of the release; one of 'major', 'minor' and
# 'patch'.
# [default: 'patch']
# - <version-file>: the file containing the version number.
# [default: 'VERSION']
#
#
# Marco Guazzone (marco.guazzone@gmail.com)
#
default_release_type=patch
default_version_file=VERSION
release_type=$default_release_type
version_file=$default_version_file
if [ $# -gt 0 ]; then
release_type=$1
if [ $# -gt 1 ]; then
version_file=$2
fi
fi
if [ ! -e "$version_file" ]; then
echo "Version file '$version_file' not found. Created a new one for version '0.0.0'"
echo "0.0.0" > $version_file
fi
version=$(cat $version_file)
IFS='.' read -r major_version minor_version patch_version <<<"$version"
case "$release_type" in
major)
major_version=$((major_version+1))
minor_version=0
patch_version=0
;;
minor)
minor_version=$((minor_version+1))
patch_version=0
;;
patch)
patch_version=$((patch_version+1))
;;
*)
echo "Usage: $0 <release-type> [<version-file>]"
echo "where:"
echo "- <release-type> is one of 'major', 'minor', 'patch'. [default: '$default_release_type']"
echo "- <version-file> is the path to the file containing the version number. [default: '$default_version_file']"
exit 1
;;
esac
new_version="${major_version}.${minor_version}.${patch_version}"
cp -f $version_file $version_file.bak \
&& echo "$new_version" > $version_file \
&& git add $version_file \
&& git ci -m "Bumped version number to $new_version" \
&& git tag -a "v${new_version}" -m "Released version $new_version." \
&& git push --follow-tags \
&& rm -f "$version_file.bak"
if [ $? -ne 0 ]; then
echo "Something went wrong! Please check your repo."
exit 1
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment