Skip to content

Commit

Permalink
Merge pull request #13 from sam-berning/validate-changelog
Browse files Browse the repository at this point in the history
actions: add CHANGELOG validation script
  • Loading branch information
sam-berning authored Dec 23, 2024
2 parents 514c420 + beedacf commit 2f50162
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 2f50162

Please sign in to comment.