diff --git a/release.sh b/release.sh index 1ad546c0..d68a5104 100755 --- a/release.sh +++ b/release.sh @@ -11,7 +11,13 @@ set -o xtrace if [ $# -ne 1 ]; then echo "Usage: ./release.sh version" >&2 - exit 1; + exit 1 +fi + +# https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string +if [[ ! $1 =~ ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ ]]; then + echo "Invalid version number: $1" >&2 + exit 1 fi git checkout main