53 lines
833 B
Bash
Executable File
53 lines
833 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
root=$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)
|
|
validator=$root/scripts/ci-validate-semver.sh
|
|
|
|
valid_tags=(
|
|
v0.0.0
|
|
v1.2.3
|
|
v1.2.3-alpha
|
|
v1.2.3-alpha.1
|
|
v1.2.3-0.3.7
|
|
v1.2.3-01a
|
|
v1.2.3-alpha-beta
|
|
v1.2.3--
|
|
v1.2.3-x.7.z.92+build.5
|
|
v1.2.3+build.11.e0f985a
|
|
v1.2.3+001
|
|
)
|
|
invalid_tags=(
|
|
1.2.3
|
|
v01.2.3
|
|
v1.02.3
|
|
v1.2.03
|
|
v1.2.3.foo
|
|
v1.2.3.
|
|
v1.2.3-.
|
|
v1.2.3-alpha.
|
|
v1.2.3-alpha..1
|
|
v1.2.3-01
|
|
v1.2.3-00.1
|
|
v1.2.3+
|
|
v1.2.3+build.
|
|
v1.2.3+build..1
|
|
v1.2.3+build+1
|
|
'v1.2.3 '
|
|
v1.2.3-alpha_1
|
|
v1.2
|
|
)
|
|
|
|
for tag in "${valid_tags[@]}"; do
|
|
"$validator" "$tag"
|
|
done
|
|
|
|
for tag in "${invalid_tags[@]}"; do
|
|
if "$validator" "$tag" >/dev/null 2>&1; then
|
|
printf 'invalid SemVer tag was accepted: %s\n' "$tag" >&2
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
echo 'semver_tests=PASS'
|