moby/hack/validate/changelog-well-formed
Sebastiaan van Stijn c3650770cc
Revert "Bash scripts; use double brackets, fix bare variables, add quotes"
This reverts commit 297b30df5f.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-01-10 02:23:38 +01:00

25 lines
615 B
Bash
Executable file

#!/usr/bin/env bash
changelogFile=${1:-CHANGELOG.md}
if [ ! -r "$changelogFile" ]; then
echo "Unable to read file $changelogFile" >&2
exit 1
fi
changelogWellFormed=1
# e.g. "## 1.12.3 (2016-10-26)"
VER_LINE_REGEX='^## [0-9]+\.[0-9]+\.[0-9]+(-ce)? \([0-9]+-[0-9]+-[0-9]+\)$'
while read -r line; do
if ! [[ "$line" =~ $VER_LINE_REGEX ]]; then
echo "Malformed changelog $changelogFile line \"$line\"" >&2
changelogWellFormed=0
fi
done < <(grep '^## ' $changelogFile)
if [[ "$changelogWellFormed" == "1" ]]; then
echo "Congratulations! Changelog $changelogFile is well-formed."
else
exit 2
fi