ci(manual-sol-artifacts): declare workflow_call secrets for cross-org callers#237
Conversation
… callers The reusable manual-sol-artifacts workflow reads secrets.PRIVATE_KEY (-> DEPLOYMENT_KEY) and the RPC/explorer/cachix secrets directly but never declared them under workflow_call.secrets, so it only worked for same-org callers via `secrets: inherit`. A cross-org caller (e.g. S01-Issuer/st0x.deploy) cannot forward org secrets through inherit, so DEPLOYMENT_KEY arrived empty and `forge script` reverted at vm.envUint before broadcasting. Declare the consumed secrets (all required: false, mirroring rainix-sol.yaml) so cross-org callers can pass them explicitly. Same-org `inherit` callers are unaffected.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds an explicit Sol Artifacts Workflow Secrets
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Reviewed 8a11f14: approved — YAML-only workflow_call.secrets declaration (all required:false, mirrors rainix-sol.yaml); backward-compatible for same-org inherit callers; all substantive checks green. |
|
@coderabbitai assess this PR size classification for the totality of the PR with the following criterias and report it in your comment: S/M/L PR Classification Guidelines:This guide helps classify merged pull requests by effort and complexity rather than just line count. The goal is to assess the difficulty and scope of changes after they have been completed. Small (S)Characteristics:
Review Effort: Would have taken 5-10 minutes Examples:
Medium (M)Characteristics:
Review Effort: Would have taken 15-30 minutes Examples:
Large (L)Characteristics:
Review Effort: Would have taken 45+ minutes Examples:
Additional Factors to ConsiderWhen deciding between sizes, also consider:
Notes:
|
|
Tip For best results, initiate chat on the files or code changes. SIZE=S |
… workflow The reusable deploy workflow is in rainlanguage/rainix (different org), so `secrets: inherit` does not forward this repo's secrets to it — PRIVATE_KEY arrived empty and the deploy reverted at vm.envUint before broadcasting. Pass the secrets this repo holds explicitly now that rainix declares them (rainlanguage/rainix#237).
Problem
rainix-manual-sol-artifacts.yamlreads${{ secrets.PRIVATE_KEY }}(→DEPLOYMENT_KEY) and the RPC / explorer / cachix secrets directly in its deploy step, but itson.workflow_callblock declared onlyinputs.suite— nosecrets:. That works for same-org callers usingsecrets: inherit, butsecrets: inheritdoes not forward a caller's org secrets across organizations. A cross-org caller (e.g.S01-Issuer/st0x.deploy) therefore got an emptyPRIVATE_KEY→ emptyDEPLOYMENT_KEY→forge scriptreverted atvm.envUint("DEPLOYMENT_KEY")before broadcasting any transaction.Fix
Declare the consumed secrets under
on.workflow_call.secrets(allrequired: false), mirroring the existing declaration inrainix-sol.yaml, so cross-org callers can pass them explicitly.Backward-compatible: same-org callers using
secrets: inherit(e.g. rain.vats) are unaffected —inheritstill forwards everything, and all entries are optional with the existing|| vars.* || ''fallbacks intact.Consumer follow-up
S01-Issuer/st0x.deploy'smanual-sol-artifacts.yamlswitches fromsecrets: inheritto explicit passing once this merges.🤖 Generated with Claude Code
Summary by CodeRabbit