Skip to content

feat(money-mirror): issue-012 production release candidate #15

feat(money-mirror): issue-012 production release candidate

feat(money-mirror): issue-012 production release candidate #15

name: Auto PR Reviewer
on:
pull_request:
types: [opened, synchronize]
jobs:
assign-reviewers:
runs-on: ubuntu-latest
timeout-minutes: 15
# Skip bot-authored PRs entirely
if: >
github.actor != 'dependabot[bot]' &&
github.actor != 'renovate[bot]' &&
github.actor != 'github-actions[bot]'
permissions:
contents: read
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Claude Code CLI
run: npm install -g @anthropic-ai/claude-code
- name: Run /assign-reviewers
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
run: |
prompt="Read commands/assign-reviewers.md and execute the full protocol for this PR: ${{ github.event.pull_request.html_url }}"
max_attempts=3
attempt=1
while [ "$attempt" -le "$max_attempts" ]; do
echo "Attempt $attempt/$max_attempts: running assign-reviewers"
if claude --dangerously-skip-permissions -p "$prompt"; then
echo "assign-reviewers completed successfully"
exit 0
fi
if [ "$attempt" -lt "$max_attempts" ]; then
sleep_seconds=$((attempt * 30))
echo "assign-reviewers failed on attempt $attempt; retrying in ${sleep_seconds}s..."
sleep "$sleep_seconds"
fi
attempt=$((attempt + 1))
done
echo "assign-reviewers failed after $max_attempts attempts"
exit 1