Skip to content

Syntax matcher walker #689

Syntax matcher walker

Syntax matcher walker #689

Workflow file for this run

name: Check PR Author
on:
pull_request:
types: [opened, reopened, synchronize]
permissions:
# Need permissions to write to the pull request by the check-authors.sh script
pull-requests: write
jobs:
check-author:
runs-on: ubuntu-latest
steps:
- name: 'PR commits + 1'
run: echo "PR_FETCH_DEPTH=$(( ${{ github.event.pull_request.commits }} + 1 ))" >> "${GITHUB_ENV}"
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: ${{ env.PR_FETCH_DEPTH }}
- name: Check if PR author is in AUTHORS file
id: author_found
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_EVENT_PATH: ${{ github.event_path }}
run: |
sh .github/workflows/check_authors.sh ${{ env.PR_FETCH_DEPTH }} || exit_status=$?
echo "found=${exit_status:-0}" >> $GITHUB_OUTPUT
- name: Find Comment
uses: peter-evans/find-comment@v3
id: fc
with:
issue-number: ${{ github.event.pull_request.number }}
comment-author: 'github-actions[bot]'
# Make sure the body has the comment-includes string. We can't add metadata to comments, which would have been a nice to have.
body-includes: "[Author check]"
# Delete comment when author is in AUTHORS file and we have a comment id
- name: Delete comment
uses: actions/github-script@v3
if: steps.author_found.outputs.found == '0' && steps.fc.outputs.comment-id != ''
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
script: |
github.issues.deleteComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: ${{ steps.fc.outputs.comment-id }},
})
# Post the comment (or replace it) when a committer is not found in the AUTHORS file
- name: Post comment if not found
uses: peter-evans/create-or-update-comment@v3
if: steps.author_found.outputs.found == '1'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
body: |
Welcome and thank you for your contribution. It appears that you might be a new contributor to our project.
To acknowledge your work appropriately, we kindly ask you to add your name and/or email to the AUTHORS file.
This helps us maintain a record of all our valuable contributors.
Thanks again for your involvement!
[Author check]
edit-mode: replace