Skip to content

Commit

Permalink
actions: add CHANGELOG validation script
Browse files Browse the repository at this point in the history
Signed-off-by: Sam Berning <[email protected]>
  • Loading branch information
sam-berning committed Dec 23, 2024
1 parent 514c420 commit beedacf
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 0 deletions.
13 changes: 13 additions & 0 deletions .github/workflows/validate-changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Validate CHANGELOG
on:
pull_request:
branches: [develop]
paths:
- 'CHANGELOG.md'

jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: ./tools/validate-changelog.sh
12 changes: 12 additions & 0 deletions tools/validate-changelog.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/usr/bin/env bash

# check that all `# headers` are formatted as a version, e.g. v1.2.3
# this should be sufficient to validate the CHANGELOG for our CI, provided that
# every new tag has a corresponding CHANGELOG update, as we always parse the
# CHANGELOG between two headers with a tagged version.
if diff <(grep -ne '^# ' CHANGELOG.md) <(grep -ne '^# v[0-9]\+\.[0-9]\+\.[0-9]\+' CHANGELOG.md); then
echo "CHANGELOG validation PASSED!"
else
echo "CHANGELOG validation FAILED! Headers must match the regex '^# v[0-9]\+\.[0-9]\+\.[0-9]\+.'"
exit 1
fi

0 comments on commit beedacf

Please sign in to comment.