mirror of https://github.com/sharkdp/bat.git
44 lines
1.4 KiB
YAML
44 lines
1.4 KiB
YAML
name: Changelog
|
|
|
|
on:
|
|
pull_request:
|
|
|
|
jobs:
|
|
check-changelog:
|
|
name: Check for changelog entry
|
|
runs-on: ubuntu-latest
|
|
# dependabot PRs are automerged if CI passes; we shouldn't block these
|
|
if: github.actor != 'dependabot[bot]'
|
|
env:
|
|
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
|
|
|
|
# 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/sharkdp/bat/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:"
|
|
echo "$ADDED"
|
|
|
|
escape_regex_meta_chars() {
|
|
# https://stackoverflow.com/a/16951928/4473405
|
|
sed 's/[][\.|$(){}?+*^]/\\&/g' <<< "$*"
|
|
}
|
|
|
|
double_escape_slash_for_bash() {
|
|
sed 's/\\/\\\\/g' <<< "$*"
|
|
}
|
|
|
|
echo "Grepping for PR info:"
|
|
grep "#${PR_NUMBER}\\b.*[(]@$(quote ${PR_SUBMITTER})[)]" <<< "$ADDED"
|