Repository navigation
ci: restore Claude reviews with a supported Bedrock model - #10057
zahin-mohammad wants to merge 1 commit into
Conversation
PR Review: #10057 — restore Claude workflows with Sonnet 5.5Changes: +19 / -11 across 2 files SummaryThis PR upgrades pull-request reviews and flowchart TD
A[Claude workflow starts] --> B[claude-code-action v1.0.260]
B --> C[Claude Code 2.1.280 or newer]
C --> D[Global Bedrock Sonnet 5.5 profile]
D --> E{Workflow}
E -->|PR review| F[Post review to triggering pull request]
E -->|iyarc-prune| G[Analyze and update dependency policy]
Findings
VerificationRemaining live check: comment-triggered review workflows use the default-branch definition, so actual review inference must be verified after merge. The inference role must permit the global profile and its worldwide destination-model resources. Generated by the |
Upgrade the pinned Claude action to v1.0.260 and select the global Sonnet 5.5 profile. The action carries Claude Agent SDK 0.3.309, which supports the selected model. Apply the upgrade to pull request reviews and the failing iyarc-prune workflow. Keep custom mentions interactive and target the triggering pull request explicitly. Ticket: WAL-2202 Session-Id: 146db0fb-b94c-4d9e-806e-4c150d26cfd3 Task-Id: e2770251-64bd-49f8-9e3f-2606f7e17c68 Requested-By: Zahin Mohammad <zahinmohammad@bitgo.com>
72954e9 to
9eaba10
Compare
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.
Tip: disable this comment in your organization's Code Review settings.
|
@claude review always |
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
| - uses: anthropics/claude-code-action@8d70a0dd265122bd65b8e09d3d959e65373ae2a1 # v1.0.260 | ||
| if: steps.determine-prompt.outputs.use-code-review-prompt == 'false' | ||
| env: | ||
| ANTHROPIC_MODEL: arn:aws:bedrock:us-west-2:168000258654:inference-profile/global.anthropic.claude-sonnet-5-5 | ||
| AWS_REGION: us-west-2 | ||
| AWS_ACCESS_KEY_ID: ${{ steps.inference-role.outputs.aws-access-key-id }} | ||
| AWS_SECRET_ACCESS_KEY: ${{ steps.inference-role.outputs.aws-secret-access-key }} | ||
| AWS_SESSION_TOKEN: ${{ steps.inference-role.outputs.aws-session-token }} | ||
| COMMENT_BODY: ${{ github.event.comment.body }} | ||
| MAX_THINKING_TOKENS: '0' | ||
| with: | ||
| timeout_minutes: '10' | ||
| github_token: ${{ secrets.GITHUB_TOKEN }} | ||
| use_bedrock: 'true' |
There was a problem hiding this comment.
🟡 (optional) Members whose comment says @ claude inside punctuation or markup, like "(@ claude)", "@ claude", "@ claude" or "@ claude's", get a green run with no reply. The job gate at line 19-20 only checks contains(..., '@ claude'). This step has no prompt, so v1 tag mode runs only when the mention matches (^|\s)@ claude([\s.,!?;:]|$). Fix: make every comment the gate accepts get handled, either by sending non-matching comments to a prompt-based step or by gating the job on the same whitespace-bounded match. The base direct_prompt always triggered.
Why this was flagged
The trigger is an issue_comment or pull_request_review_comment from an OWNER/MEMBER whose body contains '@ claude' but not as a whitespace-delimited token. Examples are "(@ claude can you check this)", "@ claude explain", "@ claude's take?" or "@ claude-review". It passes the job if at claude-pr.yml:19-20, and determine-prompt (line 67) sends it to the non-review step at line 107. That step now passes no prompt or direct_prompt. The v1.0.260 action therefore picks tag mode only if checkContainsTrigger matches the trigger phrase between whitespace or start/end and [\s.,!?;:] or end. Otherwise it falls back to agent mode with no prompt and exits without running Claude, so the job ends green with no tracking comment and no reply. On the base, the v0 action at 69dec299 had direct_prompt set, and v0's checkContainsTrigger returned true whenever a direct prompt was given. Every comment the gate accepted reached Claude. The removed COMMENT_BODY/direct_prompt was the only thing bypassing the action's stricter trigger regex, and nothing in the workflow replaces it.
Verification: The job gate at .github/workflows/claude-pr.yml:19-20 is a plain substring check, contains(github.event.comment.body, '@ claude'). After this change the step at lines 107-118 has no prompt. So these comments pass the gate and get a green run with no reply. In the base, direct_prompt made the trigger check always pass, so the step ran for any comment the gate let through.
Description
Restore Claude workflows by upgrading the pinned action to v1.0.260 and selecting the active Sonnet 5.5 global Bedrock inference profile through ANTHROPIC_MODEL. The upgrade applies to both pull-request reviews and the iyarc-prune workflow from the linked failed run.
Migrate the bare @claude review path to the supported prompt input, include repository and pull-request context, require explicit GitHub CLI targeting, and allow the commands needed to read and publish the review. Keep custom mentions in interactive mode so the action supplies comment and conversation context. Replace the ignored timeout_minutes input with a ten-minute job timeout.
The linked failure used action v1.0.194, which carried Claude Code 2.1.234. Sonnet 5.5 requires Claude Code 2.1.280 or newer; action v1.0.260 carries Claude Agent SDK 0.3.309 and a sufficiently new runtime.
No application code or dependencies change. Existing AWS roles, region, and permissions are unchanged.
Issue Number
WAL-2202
Type of change
How Has This Been Tested?
Live inference was not exercised because comment-triggered review workflows use the default branch definition. After merge, request a bare @claude review and a custom mention; confirm successful inference and posted feedback. The inference role must allow the global Sonnet 5.5 profile and its destination models. Application builds and unit tests are not applicable to this workflow-only change.
Checklist