Skip to content

[pull] main from anthropics:main #4

[pull] main from anthropics:main

[pull] main from anthropics:main #4

name: Claude PR Review
on:
pull_request:
types: [opened, ready_for_review, synchronize]
paths:
- '**/*.ipynb'
- '**/*.py'
- '.github/workflows/**'
- 'pyproject.toml'
- 'uv.lock'
workflow_dispatch:
inputs:
pr_number:
description: 'PR number to review'
required: true
type: number
jobs:
pr-review:
# Only run for internal contributors (not forks) unless manually triggered
if: github.event_name == 'workflow_dispatch' || github.event.pull_request.head.repo.full_name == github.repository
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- name: Set PR number
id: pr-number
run: |
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
echo "number=${{ inputs.pr_number }}" >> $GITHUB_OUTPUT
else
echo "number=${{ github.event.pull_request.number }}" >> $GITHUB_OUTPUT
fi
- name: Checkout PR
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event_name == 'workflow_dispatch' && format('refs/pull/{0}/head', inputs.pr_number) || '' }}
- name: Run Claude PR Review
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
prompt: |
/review-pr-ci ${{ steps.pr-number.outputs.number }}
claude_args: |
--allowedTools "SlashCommand,Task,Bash(gh pr diff:*),Bash(gh pr view:*),Bash(gh pr review:*),Bash(git diff:*),Bash(git log:*),Read,Glob,Grep"
env:
PR_NUMBER: ${{ steps.pr-number.outputs.number }}