diff options
author | cyqsimon <28627918+cyqsimon@users.noreply.github.com> | 2023-11-12 14:32:46 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-12 14:32:46 +0800 |
commit | 23827065c23f6e925071282f2cd8bfcd75fefc94 (patch) | |
tree | 558f37874df97f2771bf1644a1b72d169a34f909 /.github | |
parent | 16a6f9eec6079a08d31159e296f6009034bd533c (diff) |
CI: ensure a changelog entry exists for each PR (#331)
* CI: ensure a changelog entry exists for each PR
* Write CHANGELOG
* Fix grep by adding `-P`
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/require-changelog-for-PRs.yml | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/.github/workflows/require-changelog-for-PRs.yml b/.github/workflows/require-changelog-for-PRs.yml new file mode 100644 index 0000000..264384a --- /dev/null +++ b/.github/workflows/require-changelog-for-PRs.yml @@ -0,0 +1,26 @@ +name: Changelog + +on: + pull_request: + +jobs: + check-changelog: + name: Check for changelog entry + runs-on: ubuntu-latest + # allow dependabot PRs to have no changelog + if: github.actor != 'dependabot[bot]' + env: + PR_SUBMITTER: ${{ github.actor }} + PR_NUMBER: ${{ github.event.number }} + PR_BASE: ${{ github.base_ref }} + steps: + - uses: actions/checkout@v4 + - name: Fetch PR base + run: git fetch --no-tags --prune --depth=1 origin + - name: Search for added line in changelog + run: | + ADDED=$(git diff -U0 "origin/${PR_BASE}" HEAD -- CHANGELOG.md | grep -P '^\+[^\+].+$') + echo "Added lines in CHANGELOG.md:" + echo "$ADDED" + echo "Grepping for PR info:" + grep -P "(#|pull/)${PR_NUMBER}\\b.*@${PR_SUBMITTER}\\b" <<< "$ADDED" |