ci: pass GitHub identity to Claude action - #103
Merged
Conversation
Claude review status
🛠️ Review did not finish Attempted head This round did not publish: MODEL_ACTION_FAILED in phase review_retry. Anything listed below is from the last round that did. Re-run the workflow or push a new commit to try again. |
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.
Summary
github_identity_tokento both Claude analysis attempts asgithub_token.Root cause
The PR review workflow already creates a MegaETH CI App token for review publication and thread resolution.
The nested
anthropics/claude-code-actioncalls did not receive that token, so they attempted a separate Claude GitHub App OIDC exchange.That exchange returns
401 Unauthorized - Invalid OIDC tokenfor the currentpull_request_targetworkflow.Impact
When
github_identity_tokenis configured, the semantic analysis stage uses the same GitHub identity as the deterministic prepare and publish stages.Model authentication continues to use
claude_code_oauth_token.Callers that omit
github_identity_tokencontinue using the Claude actions default GitHub authentication path.Validation
python3 .github/actions/claude-pr-review/test_review_pipeline.py— 77 tests passednpx --yes prettier@3.8.5 --check .github/actions/README.md .github/actions/claude-pr-review/action.ymlgit diff --checkRollout note
This PRs own Claude review may reproduce the existing failure because the workflow intentionally loads
claude-pr-review@main.After this change merges, rerun the failed review on PR #102 to validate the live token path.