Skip to content

Commit

Permalink
fix: pre versions > 1
Browse files Browse the repository at this point in the history
  • Loading branch information
christian-draeger authored Dec 21, 2024
1 parent e336aa9 commit 0596efb
Showing 1 changed file with 11 additions and 52 deletions.
63 changes: 11 additions & 52 deletions entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,22 @@ main() {
echo "could not read previous version"; exit 1
fi

possible_release_types="major feature minor bug patch hotfix alpha beta pre rc"
possible_release_types=(major feature minor bug patch hotfix alpha beta pre rc)

if [[ ! ${possible_release_types[*]} =~ ${release_type} ]]; then
if [[ ! " ${possible_release_types[*]} " =~ " ${release_type} " ]]; then
echo "valid argument: [ ${possible_release_types[*]} ]"; exit 1
fi

major=0; minor=0; patch=0; pre=""; preversion=0

# break down the version number into it's components
regex="^v?([0-9]+)\.([0-9]+)\.([0-9]+)(-([a-z]+)(\.[0-9]+)?)?$"
# break down the version number into its components
regex="^v?([0-9]+)\.([0-9]+)\.([0-9]+)(-([a-z]+)(\\.([0-9]+))?)?$"
if [[ $prev_version =~ $regex ]]; then
major="${BASH_REMATCH[1]}"
minor="${BASH_REMATCH[2]}"
patch="${BASH_REMATCH[3]}"
pre="${BASH_REMATCH[5]}"
preversion="${BASH_REMATCH[6]}"
preversion="${BASH_REMATCH[7]}"
else
echo "previous version '$prev_version' is not a semantic version"
exit 1
Expand All @@ -46,54 +46,13 @@ main() {
((++minor)); patch=0; pre="";;
"bug"|"patch"|"hotfix")
((++patch)); pre="";;
"alpha")
if [[ -z "$preversion" ]];
then
preversion=0
else
if [[ "$pre" != "-alpha" ]];
then
preversion=1
else ((++preversion))
fi
"alpha"|"beta"|"pre"|"rc")
if [[ "$pre" != "$release_type" ]]; then
preversion=1
else
((++preversion))
fi
pre="-alpha.$preversion";;
"beta")
if [[ -z "$preversion" ]];
then
preversion=0
else
if [[ "$pre" != "-beta" ]];
then
preversion=1
else ((++preversion))
fi
fi
pre="-beta.$preversion";;
"pre")
if [[ -z "$preversion" ]];
then
preversion=0
else
if [[ "$pre" != "-pre" ]];
then
preversion=1
else ((++preversion))
fi
fi
pre="-pre.$preversion";;
"rc")
if [[ -z "$preversion" ]];
then
preversion=0
else
if [[ "$pre" != "-rc" ]];
then
preversion=1
else ((++preversion))
fi
fi
pre="-rc.$preversion";;
pre="-$release_type.$preversion";;
esac

next_version="${major}.${minor}.${patch}${pre}"
Expand Down

0 comments on commit 0596efb

Please sign in to comment.