Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/claude-mentions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,4 +81,4 @@ jobs:
with:
github_token: ${{ steps.app-token.outputs.token }}
use_bedrock: "true"
claude_args: "--model us.anthropic.claude-sonnet-4-5-20250929-v1:0 --max-turns 10"
claude_args: "--model us.anthropic.claude-sonnet-4-5-20250929-v1:0 --max-turns 50 --allowedTools Read,Grep"
32 changes: 29 additions & 3 deletions .github/workflows/claude-pr-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ name: Claude PR Review

on:
pull_request_target:
types: [opened, ready_for_review, reopened]
types: [opened, ready_for_review, reopened, labeled, unlabeled]

concurrency:
group: claude-review-${{ github.event.pull_request.number }}
Expand All @@ -19,6 +19,11 @@ permissions:

jobs:
claude-pr-review:
if: |
!contains(github.event.pull_request.labels.*.name, 'no-claude-review') &&
((github.event.action != 'labeled' && github.event.action != 'unlabeled') ||
(github.event.action == 'labeled' && github.event.label.name == 'claude-recheck') ||
(github.event.action == 'unlabeled' && github.event.label.name == 'no-claude-review' && contains(github.event.pull_request.labels.*.name, 'claude-recheck')))
name: claude-pr-review
runs-on: ubuntu-22.04
permissions:
Expand All @@ -28,6 +33,20 @@ jobs:
issues: write
actions: read
steps:
- name: Check if PR has no-claude-review label
id: check-label
run: |
LABELS=$(gh api repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }} --jq '.labels[].name')
if echo "$LABELS" | grep -q "no-claude-review"; then
echo "has_no_review_label=true" >> $GITHUB_OUTPUT
echo "⚠️ PR has 'no-claude-review' label. Skipping automated review."
exit 0
else
echo "has_no_review_label=false" >> $GITHUB_OUTPUT
fi
env:
GH_TOKEN: ${{ github.token }}

- name: Check if PR author is org member
id: check
run: |
Expand Down Expand Up @@ -109,5 +128,12 @@ jobs:
Use top-level comments for general observations or praise.
claude_args: |
--model us.anthropic.claude-sonnet-4-5-20250929-v1:0
--max-turns 30
--allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)"
--max-turns 50
--allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Read,Grep"

- name: Remove claude-recheck label if present
if: steps.check.outputs.is_member == 'true' && github.event.action == 'labeled' && github.event.label.name == 'claude-recheck'
run: |
gh api repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/labels/claude-recheck -X DELETE || true
env:
GH_TOKEN: ${{ github.token }}
Loading