Skip to content
Merged
Changes from all 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
79 changes: 6 additions & 73 deletions .github/workflows/claude-code.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,86 +3,19 @@ name: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened]

jobs:
claude-code:
# Early exit conditions:
# 1. Must be pytorch org
# 2. Must be triggered by pilot user
# 3. Must mention @claude
if: |
github.repository_owner == 'pytorch' &&
contains(fromJSON('[
"huydhn",
"seemethere",
"malfet",
"ZainRizvi",
"jeanschmidt",
"atalman",
"wdvr",
"izaitsevfb",
"yangw-dev",
"ezyang",
"drisspg",
"albanD",
"eellison",
"pytorch-auto-revert[bot]",
"janeyx99",
"SherlockNoMad",
"svekars",
"sekyondaMeta",
"AlannaBurke",
"ngimel"
]'), github.actor) &&
(
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
)
runs-on: ubuntu-latest
timeout-minutes: 60
environment: bedrock
uses: pytorch/test-infra/.github/workflows/_claude-code.yml@main
permissions:
contents: read
pull-requests: write
issues: write
id-token: write
steps:
# Fork PR support enabled by using izaitsevfb/claude-code-action@forked-pr-fix

- uses: actions/checkout@v4
with:
fetch-depth: 1

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'

- name: Install lintrunner
run: |
pip install lintrunner==0.12.5
lintrunner init

- name: Configure AWS credentials via OIDC
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::308535385114:role/gha_workflow_claude_code
aws-region: us-east-1

- name: Run Claude Code
uses: izaitsevfb/claude-code-action@forked-pr-fix
with:
# We filter by github.actor at workflow level, there is no point of filtering here as well
allowed_bots: "*"
claude_args: "--model global.anthropic.claude-opus-4-6-v1"
settings: '{"alwaysThinkingEnabled": true}'
use_bedrock: "true"

- name: Upload usage metrics
if: always()
uses: pytorch/test-infra/.github/actions/upload-claude-usage@main
secrets: inherit
with:
setup_script: |
pip install lintrunner==0.12.5
lintrunner init