Files
kaidi/scripts/check-semver.sh
2026-08-17 14:08:40 +08:00

11 lines
382 B
Bash
Executable File

#!/usr/bin/env bash
set -eu
VERSION=${1:-}
SEMVER_PATTERN='^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(-(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(\.(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$'
if [ "${#VERSION}" -gt 128 ] || [[ ! "$VERSION" =~ $SEMVER_PATTERN ]]; then
printf 'Invalid SemVer: %s\n' "$VERSION" >&2
exit 1
fi