Skip to content

Use run-claude-action composite in claude-review.yml#91618

Closed
kacper-mikolajczak wants to merge 2 commits into
Expensify:mainfrom
kacper-mikolajczak:slice2-adopt-cca-composite
Closed

Use run-claude-action composite in claude-review.yml#91618
kacper-mikolajczak wants to merge 2 commits into
Expensify:mainfrom
kacper-mikolajczak:slice2-adopt-cca-composite

Conversation

@kacper-mikolajczak
Copy link
Copy Markdown
Contributor

Details

Rewires both claude-code-action invocations in .github/workflows/claude-review.yml (code review and docs review) to use the new shared composite at Expensify/GitHub-Actions/.github/actions/run-claude-action.

The composite pins the anthropics/claude-code-action SHA in a single place so future bumps require touching only that composite instead of three client workflows. Caller-specific claude_args (--allowedTools, --json-schema) stay in this workflow because they vary per invocation - App's code review uses different tools than App's docs review.

Net behaviour is unchanged: same upstream SHA (ba026a3e56b9f646ae3b1be02dd9c0812aa2f8ae / v1.0.86), same model (claude-opus-4-6), same display_report / allowed_non_write_users defaults.

The composite reference uses a placeholder SHA on the branch tip of the GitHub-Actions PR; it will be re-stamped to the merged-main SHA once that PR lands.

Related Issues

https://github.com/Expensify/Expensify/issues/635397

Depends on Expensify/GitHub-Actions#67 (composite action source).

Manual Tests

Diff is a pure mechanical swap (one uses: line + drop of inputs now defaulted by the composite). Runtime parity verified by inspection - same SHA pin, same defaults, same claude_args content modulo the now-defaulted --model line.

Linked PRs

Replaces the two direct anthropics/claude-code-action invocations (code
review and docs review) with the shared composite at
Expensify/GitHub-Actions/.github/actions/run-claude-action. The composite
pins the upstream SHA once and applies the common defaults (model,
display_report, allowed_non_write_users); caller-specific claude_args
(allowedTools, json-schema) stay in this workflow.

Net behaviour is unchanged: same upstream SHA, same model, same defaults.
The composite no longer injects --model. App opts into Opus by passing
--model claude-opus-4-6 in claude_args for both the code-review and
docs-review invocations - matching the model App used before this PR.
@kacper-mikolajczak
Copy link
Copy Markdown
Contributor Author

Superseded by #91689 (consolidated slice 2 work into one PR per repo).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant