summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcyqsimon <28627918+cyqsimon@users.noreply.github.com>2024-03-01 17:42:39 +0800
committerGitHub <noreply@github.com>2024-03-01 17:42:39 +0800
commit1319437388f4e8ca546bb3c3548da44a475e4342 (patch)
treece4ab13cb43e84486ab830089efc5b9104cbd807
parent862ede716c4de07f1985884b4af25ac874ab4640 (diff)
CI: use GitHub API to exempt dependabot from changelog requirement (#378)
* CI: use GitHub API to exempt dependabot from changelog requirement * Write changelog
-rw-r--r--.github/workflows/require-changelog-for-PRs.yml26
-rw-r--r--CHANGELOG.md1
2 files changed, 17 insertions, 10 deletions
diff --git a/.github/workflows/require-changelog-for-PRs.yml b/.github/workflows/require-changelog-for-PRs.yml
index be20431..0f126cf 100644
--- a/.github/workflows/require-changelog-for-PRs.yml
+++ b/.github/workflows/require-changelog-for-PRs.yml
@@ -4,28 +4,34 @@ on:
pull_request:
jobs:
+ get-submitter:
+ name: Get the username of the PR submitter
+ runs-on: ubuntu-latest
+ outputs:
+ submitter: ${{ steps.get-submitter.outputs.submitter }}
+ steps:
+ # cannot use `github.actor`: the triggering commit may be authored by a maintainer
+ - name: Get PR submitter
+ id: get-submitter
+ run: curl -sSfL https://api.github.com/repos/imsnif/bandwhich/pulls/${PR_NUMBER} | jq -r '"submitter=" + .user.login' | tee -a $GITHUB_OUTPUT
+
check-changelog:
name: Check for changelog entry
- runs-on: ubuntu-latest
- # allow dependabot PRs to have no changelog
- if: github.actor != 'dependabot[bot]'
+ needs: get-submitter
env:
PR_NUMBER: ${{ github.event.number }}
+ PR_SUBMITTER: ${{ needs.get-submitter.outputs.submitter }}
PR_BASE: ${{ github.base_ref }}
+ runs-on: ubuntu-latest
+ # allow dependabot PRs to have no changelog
+ if: ${{ needs.get-submitter.outputs.submitter != 'dependabot[bot]' }}
steps:
- uses: actions/checkout@v4
- name: Fetch PR base
run: git fetch --no-tags --prune --depth=1 origin
- # cannot use `github.actor`: the triggering commit may be authored by a maintainer
- - name: Get PR submitter
- id: get-submitter
- run: curl -sSfL https://api.github.com/repos/imsnif/bandwhich/pulls/${PR_NUMBER} | jq -r '"submitter=" + .user.login' | tee -a $GITHUB_OUTPUT
-
- name: Search for added line in changelog
- env:
- PR_SUBMITTER: ${{ steps.get-submitter.outputs.submitter }}
run: |
ADDED=$(git diff -U0 "origin/${PR_BASE}" HEAD -- CHANGELOG.md | grep -P '^\+[^\+].+$')
echo "Added lines in CHANGELOG.md:"
diff --git a/CHANGELOG.md b/CHANGELOG.md
index cb4a04b..f8a59cd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
## Fixed
* Remove redundant imports #377 - @cyqsimon
+* CI: use GitHub API to exempt dependabot from changelog requirement #378 - @cyqsimon
## Added
* CI: include generated assets in release archive #359 - @cyqsimon