aec52767b9
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>
25 lines
601 B
Bash
Executable file
25 lines
601 B
Bash
Executable file
#!/bin/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]+ \([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
|