Fixes issue #641 where users were getting banned due to rapid successive Claude runs triggered by the synchronize event. Changes: - Add checkHumanActor call to agent mode's prepare() method to reject bot-triggered workflows unless explicitly allowed via allowed_bots - Update checkHumanActor to accept GitHubContext (union type) instead of just ParsedGitHubContext - Add concurrency protection to all PR review workflow examples to prevent multiple reviews running simultaneously on the same PR - Add tests for bot rejection/allowance in agent mode 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
54 lines
1.7 KiB
YAML
54 lines
1.7 KiB
YAML
name: Claude Review - Specific Authors
|
|
|
|
on:
|
|
pull_request:
|
|
types: [opened, synchronize]
|
|
|
|
# Prevent multiple reviews from running simultaneously on the same PR
|
|
concurrency:
|
|
group: claude-review-${{ github.event.pull_request.number }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
review-by-author:
|
|
# Only run for PRs from specific authors
|
|
if: |
|
|
github.event.pull_request.user.login == 'developer1' ||
|
|
github.event.pull_request.user.login == 'developer2' ||
|
|
github.event.pull_request.user.login == 'external-contributor'
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: read
|
|
pull-requests: read
|
|
id-token: write
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v5
|
|
with:
|
|
fetch-depth: 1
|
|
|
|
- name: Review PR from Specific Author
|
|
uses: anthropics/claude-code-action@v1
|
|
with:
|
|
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
prompt: |
|
|
REPO: ${{ github.repository }}
|
|
PR NUMBER: ${{ github.event.pull_request.number }}
|
|
|
|
Please provide a thorough review of this pull request.
|
|
|
|
Note: The PR branch is already checked out in the current working directory.
|
|
|
|
Since this is from a specific author that requires careful review,
|
|
please pay extra attention to:
|
|
- Adherence to project coding standards
|
|
- Proper error handling
|
|
- Security best practices
|
|
- Test coverage
|
|
- Documentation
|
|
|
|
Provide detailed feedback and suggestions for improvement.
|
|
|
|
claude_args: |
|
|
--allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*), Bash(gh pr diff:*), Bash(gh pr view:*)"
|