Skip to content

Commit c139d70

Browse files
Merge pull request #9 from smartwatermelon/claude/migrate-blocking-review-20260320
feat: migrate to Claude Blocking Review workflow
2 parents 463caf5 + 26ea8eb commit c139d70

File tree

2 files changed

+25
-72
lines changed

2 files changed

+25
-72
lines changed
Lines changed: 12 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,19 @@
1-
name: Claude Code Review
1+
name: Claude Blocking Review
2+
3+
permissions:
4+
contents: read
5+
pull-requests: write
6+
issues: write
7+
id-token: write
28

39
on:
410
pull_request:
511
types: [opened, synchronize, ready_for_review, reopened]
6-
# Optional: Only run on specific file changes
7-
# paths:
8-
# - "src/**/*.ts"
9-
# - "src/**/*.tsx"
10-
# - "src/**/*.js"
11-
# - "src/**/*.jsx"
1212

1313
jobs:
1414
claude-review:
15-
# Optional: Filter by PR author
16-
# if: |
17-
# github.event.pull_request.user.login == 'external-contributor' ||
18-
# github.event.pull_request.user.login == 'new-developer' ||
19-
# github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'
20-
21-
runs-on: ubuntu-latest
22-
permissions:
23-
contents: read
24-
pull-requests: read
25-
issues: read
26-
id-token: write
27-
28-
steps:
29-
- name: Checkout repository
30-
uses: actions/checkout@v4
31-
with:
32-
fetch-depth: 1
33-
34-
- name: Run Claude Code Review
35-
id: claude-review
36-
uses: anthropics/claude-code-action@v1
37-
with:
38-
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
39-
plugin_marketplaces: 'https://github.com/anthropics/claude-code.git'
40-
plugins: 'code-review@claude-code-plugins'
41-
prompt: '/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}'
42-
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
43-
# or https://code.claude.com/docs/en/cli-reference for available options
44-
15+
uses: smartwatermelon/github-workflows/.github/workflows/claude-blocking-review.yml@v1
16+
with:
17+
pr_number: ${{ github.event.pull_request.number }}
18+
secrets:
19+
claude_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}

.github/workflows/claude.yml

Lines changed: 13 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
name: Claude Code
22

3+
permissions:
4+
contents: read
5+
pull-requests: read
6+
issues: read
7+
id-token: write
8+
39
on:
410
issue_comment:
511
types: [created]
@@ -13,38 +19,10 @@ on:
1319
jobs:
1420
claude:
1521
if: |
16-
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
17-
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
18-
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
19-
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
20-
runs-on: ubuntu-latest
21-
permissions:
22-
contents: read
23-
pull-requests: read
24-
issues: read
25-
id-token: write
26-
actions: read # Required for Claude to read CI results on PRs
27-
steps:
28-
- name: Checkout repository
29-
uses: actions/checkout@v4
30-
with:
31-
fetch-depth: 1
32-
33-
- name: Run Claude Code
34-
id: claude
35-
uses: anthropics/claude-code-action@v1
36-
with:
37-
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
38-
39-
# This is an optional setting that allows Claude to read CI results on PRs
40-
additional_permissions: |
41-
actions: read
42-
43-
# Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
44-
# prompt: 'Update the pull request description to include a summary of changes.'
45-
46-
# Optional: Add claude_args to customize behavior and configuration
47-
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
48-
# or https://code.claude.com/docs/en/cli-reference for available options
49-
# claude_args: '--allowed-tools Bash(gh pr:*)'
50-
22+
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude') && contains(fromJSON('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association)) ||
23+
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude') && contains(fromJSON('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association)) ||
24+
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude') && contains(fromJSON('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.review.author_association)) ||
25+
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')) && contains(fromJSON('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.issue.author_association))
26+
uses: smartwatermelon/github-workflows/.github/workflows/claude-assistant.yml@v1
27+
secrets:
28+
claude_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}

0 commit comments

Comments
 (0)