mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2025-08-02 13:48:15 +02:00
Merge f9271eb3a3
into 31ade3e496
This commit is contained in:
commit
b91c2c59bc
3
.github/config/repo_devs.json
vendored
3
.github/config/repo_devs.json
vendored
@ -9,5 +9,8 @@
|
|||||||
"DarioGii",
|
"DarioGii",
|
||||||
"ConnorYoh",
|
"ConnorYoh",
|
||||||
"EthanHealy01"
|
"EthanHealy01"
|
||||||
|
],
|
||||||
|
"repo_devs_reviewers": [
|
||||||
|
"Frooodle"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
69
.github/workflows/reviewbot.yml
vendored
Normal file
69
.github/workflows/reviewbot.yml
vendored
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
name: ReviewBot Approver
|
||||||
|
|
||||||
|
on:
|
||||||
|
issue_comment:
|
||||||
|
types: [created]
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
approve-pr:
|
||||||
|
if: |
|
||||||
|
github.event.issue.pull_request &&
|
||||||
|
contains(github.event.comment.body, 'approvebot')
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Harden Runner
|
||||||
|
uses: step-security/harden-runner@002fdce3c6a235733a90a27c80493a3241e56863 # v2.12.1
|
||||||
|
with:
|
||||||
|
egress-policy: audit
|
||||||
|
|
||||||
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||||
|
|
||||||
|
- name: Setup GitHub App Bot
|
||||||
|
if: github.actor != 'dependabot[bot]'
|
||||||
|
id: setup-bot
|
||||||
|
uses: ./.github/actions/setup-bot
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.GH_APP_ID }}
|
||||||
|
private-key: ${{ secrets.GH_APP_PRIVATE_KEY }}
|
||||||
|
|
||||||
|
- name: Verify Bot Setup
|
||||||
|
if: github.actor != 'dependabot[bot]'
|
||||||
|
run: |
|
||||||
|
if [ -z "${{ steps.setup-bot.outputs.token }}" ]; then
|
||||||
|
echo "Error: Bot setup failed. Token is missing." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
- name: Check if actor is repo developer
|
||||||
|
id: actor
|
||||||
|
run: |
|
||||||
|
if [[ "${{ github.actor }}" == *"[bot]" ]]; then
|
||||||
|
echo "PR opened by a bot – skipping AI title review."
|
||||||
|
echo "is_repo_dev=false" >> $GITHUB_OUTPUT
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
if [ ! -f .github/config/repo_devs.json ]; then
|
||||||
|
echo "Error: .github/config/repo_devs.json not found" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# Validate JSON and extract repo_devs
|
||||||
|
REPO_DEVS=$(jq -r '.repo_devs_reviewers[]' .github/config/repo_devs.json 2>/dev/null || { echo "Error: Invalid JSON in repo_devs.json" >&2; exit 1; })
|
||||||
|
# Convert developer list into Bash array
|
||||||
|
mapfile -t DEVS_ARRAY <<< "$REPO_DEVS"
|
||||||
|
if [[ " ${DEVS_ARRAY[*]} " == *" ${{ github.actor }} "* ]]; then
|
||||||
|
echo "is_repo_dev=true" >> $GITHUB_OUTPUT
|
||||||
|
else
|
||||||
|
echo "is_repo_dev=false" >> $GITHUB_OUTPUT
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Approve the Pull Request
|
||||||
|
if: steps.actor.outputs.is_repo_dev == 'true'
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ steps.setup-bot.outputs.token }}
|
||||||
|
run: |
|
||||||
|
gh pr review ${{ github.event.issue.number }} --approve -b ":robot: *${{ steps.setup-bot.outputs.app-slug }}* approved this PR in response to a comment from @${{ github.actor }}."
|
Loading…
Reference in New Issue
Block a user