File: changelog-well-formed

package info (click to toggle)
docker.io 20.10.24%2Bdfsg1-1%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 60,824 kB
  • sloc: sh: 5,621; makefile: 593; ansic: 179; python: 162; asm: 7
file content (25 lines) | stat: -rwxr-xr-x 605 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/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