18 lines
532 B
Bash
18 lines
532 B
Bash
#!/usr/bin/env sh
|
|
set -eu
|
|
|
|
tag="${1:-}"
|
|
if ! printf '%s\n' "$tag" | grep -Eq '^v(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$'; then
|
|
printf 'release tag must use vMAJOR.MINOR.PATCH, got: %s\n' "$tag" >&2
|
|
exit 1
|
|
fi
|
|
|
|
version="${tag#v}"
|
|
if ! grep -Eq "^## \\[$version\\] - [0-9]{4}-[0-9]{2}-[0-9]{2}$" CHANGELOG.md; then
|
|
printf 'CHANGELOG.md must contain a dated release heading: ## [%s] - YYYY-MM-DD\n' "$version" >&2
|
|
exit 1
|
|
fi
|
|
|
|
sh scripts/check-migrations.sh
|
|
printf 'release policy check passed for %s\n' "$tag"
|