Add run-claude-action composite action#67
Closed
kacper-mikolajczak wants to merge 2 commits into
Closed
Conversation
Centralises the anthropics/claude-code-action SHA pin currently duplicated across Expensify/App, Expensify/Auth, and Expensify/Web-Expensify into a single composite. Client workflows consume this via Expensify/GitHub-Actions/.github/actions/run-claude-action@<sha> so future pin bumps only need to land here. The composite stays thin: it sets the common defaults (model, display_report, allowed_non_write_users) and forwards structured_output. Caller-specific concerns (toolkit setup, eyes reaction, post-violations loop, schema extension) remain in the caller workflow.
The composite forced --model claude-opus-4-6 by default, but Auth and Web-Expensify currently run on claude-sonnet-4-6 (the CLI's built-in default since they don't pass --model). Forcing Opus is a real behaviour change. Move model selection into claude_args - App passes --model claude-opus-4-6 explicitly; Auth and Web let the CLI default apply. Composite stays a pure SHA-pin wrapper.
Contributor
Author
|
Superseded by #68 (consolidated slice 2 work into one PR per repo). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Details
Adds a new composite action under
.github/actions/run-claude-action/that centralises theanthropics/claude-code-actionSHA pin currently duplicated across the three client repos that run the Claude PR review pipeline (Expensify/App,Expensify/Auth,Expensify/Web-Expensify).The composite is intentionally thin: it pins the upstream action SHA, sets the common defaults (
display_report,allowed_non_write_users,--model claude-opus-4-6), and forwardsstructured_output. Caller-specific concerns - theclaude-review-toolkitsetup, the eyes-reaction lifecycle, the post-violations loop, and any schema extension - remain in the caller workflow.Pinned to
anthropics/claude-code-action@ba026a3e56b9f646ae3b1be02dd9c0812aa2f8ae # v1.0.86, the SHA all three client repos use onmaintoday, so net steady-state behaviour after all client adoption PRs land is zero change.Inputs:
anthropic_api_key,github_token,prompt(required)model(defaultclaude-opus-4-6)claude_args(passthrough;--allowedToolsand--json-schemastay caller-side because they vary per invocation)allowed_non_write_users(default*)display_report(defaulttrue)Output:
structured_output(passthrough)Bumping the upstream SHA in the future requires editing only this composite instead of three workflow files.
Related Issues
https://github.com/Expensify/Expensify/issues/635397
Client adoption PRs (referencing this branch's head SHA as a placeholder; will be re-stamped to the merged-main SHA after this PR lands):
Manual Tests
actionlintandvalidateActionscover the YAML; runtime parity verified against the three client invocations onmain(same SHA pin, same defaults).