47 lines
1.3 KiB
YAML
47 lines
1.3 KiB
YAML
name: Claude Auto Review
|
|
|
|
on:
|
|
pull_request:
|
|
types: [ready_for_review, opened]
|
|
|
|
concurrency:
|
|
group: claude-review-${{ github.event.pull_request.number }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
auto-review:
|
|
runs-on: ubuntu-latest
|
|
if: github.event.pull_request.draft == false || github.event.pull_request.ready_for_review == true
|
|
permissions:
|
|
contents: read
|
|
pull-requests: read
|
|
id-token: write
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 1
|
|
|
|
- name: Read review prompt
|
|
id: review-prompt
|
|
run: |
|
|
{
|
|
echo 'REVIEW_PROMPT<<EOF'
|
|
cat .claude/review-prompt.md
|
|
echo 'EOF'
|
|
} >> "$GITHUB_ENV"
|
|
|
|
- name: Automatic PR Review
|
|
uses: anthropics/claude-code-action@v1
|
|
with:
|
|
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
|
|
track_progress: true
|
|
prompt: |
|
|
REPO: ${{ github.repository }}
|
|
PR NUMBER: ${{ github.event.pull_request.number }}
|
|
|
|
${{ env.REVIEW_PROMPT }}
|
|
claude_args: |
|
|
--allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)"
|
|
--model opus
|