Skip to content

fix(tag-release): map fork RPC secrets to the env names foundry reads#285

Merged
thedavidmeister merged 1 commit into
mainfrom
fix-tag-release-verify-env
Jul 24, 2026
Merged

fix(tag-release): map fork RPC secrets to the env names foundry reads#285
thedavidmeister merged 1 commit into
mainfrom
fix-tag-release-verify-env

Conversation

@thedavidmeister

Copy link
Copy Markdown
Contributor

Fixes a real bug in rainix-tag-release's verify step (introduced in #280, unchanged by #282), caught when rain.factory.deploy's first release run failed.

Bug

The verify step named its env vars after the secretsRPC_URL_ARBITRUM_FORK, RPC_URL_BASE_FORK, … — but foundry.toml's [rpc_endpoints] read ${ARBITRUM_RPC_URL}, ${BASE_RPC_URL}, …. So the vars foundry actually needs were never set, and every fork in the verify suite died with:

vm.createSelectFork: environment variable `ARBITRUM_RPC_URL` not found

The test reusable (rainix-sol-test.yaml) maps them correctly; the tag-release verify step didn't. Until this lands, no tag-release can pass verify → nothing publishes.

Fix

Map each RPC_URL_<NETWORK>_FORK secret to the <NETWORK>_RPC_URL env name foundry expects (mirroring rainix-sol-test.yaml), with the || vars.* fallback the rest of the org's CI uses. yamlfmt clean.

🤖 Generated with Claude Code

The verify step set env vars named after the secrets (RPC_URL_<NETWORK>_FORK),
but foundry.toml's [rpc_endpoints] read ${<NETWORK>_RPC_URL}. So the vars foundry
needs were unset and createSelectFork failed "environment variable
ARBITRUM_RPC_URL not found" (observed on rain.factory.deploy's release). Map each
secret to the <NETWORK>_RPC_URL name foundry expects, mirroring rainix-sol-test,
with the vars.* fallback.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@thedavidmeister thedavidmeister self-assigned this Jul 24, 2026
@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@thedavidmeister, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 48 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 0c94cc89-8a24-41f6-b0fb-44cddddddc06

📥 Commits

Reviewing files that changed from the base of the PR and between 8583c77 and 97fbfc7.

📒 Files selected for processing (1)
  • .github/workflows/rainix-tag-release.yaml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix-tag-release-verify-env

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@thedavidmeister

Copy link
Copy Markdown
Contributor Author

Reviewed 97fbfc7: approve

CodeRabbit rate-limited (not reviewing). Own review: the change maps each RPC_URL__FORK secret to the _RPC_URL env name foundry.toml reads, mirroring rainix-sol-test.yaml, with the vars.* fallback — trivially correct, and the exact fix for the createSelectFork 'env var not found' that failed rain.factory.deploy's verify.

Green-by-rule: the only red is rainix-sol-artifacts, inherited from main (the eth-sepolia RPC-secret issue in #283/#284), unrelated to this env-name change.

@thedavidmeister
thedavidmeister merged commit aa789b9 into main Jul 24, 2026
12 of 13 checks passed
@github-actions

Copy link
Copy Markdown

@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:

  • Simple bug fixes, typos, or minor refactoring
  • Single-purpose changes affecting 1-2 files
  • Documentation updates
  • Configuration tweaks
  • Changes that require minimal context to review

Review Effort: Would have taken 5-10 minutes

Examples:

  • Fix typo in variable name
  • Update README with new instructions
  • Adjust configuration values
  • Simple one-line bug fixes
  • Import statement cleanup

Medium (M)

Characteristics:

  • Feature additions or enhancements
  • Refactoring that touches multiple files but maintains existing behavior
  • Breaking changes with backward compatibility
  • Changes requiring some domain knowledge to review

Review Effort: Would have taken 15-30 minutes

Examples:

  • Add new feature or component
  • Refactor common utility functions
  • Update dependencies with minor breaking changes
  • Add new component with tests
  • Performance optimizations
  • More complex bug fixes

Large (L)

Characteristics:

  • Major feature implementations
  • Breaking changes or API redesigns
  • Complex refactoring across multiple modules
  • New architectural patterns or significant design changes
  • Changes requiring deep context and multiple review rounds

Review Effort: Would have taken 45+ minutes

Examples:

  • Complete new feature with frontend/backend changes
  • Protocol upgrades or breaking changes
  • Major architectural refactoring
  • Framework or technology upgrades

Additional Factors to Consider

When deciding between sizes, also consider:

  • Test coverage impact: More comprehensive test changes lean toward larger classification
  • Risk level: Changes to critical systems bump up a size category
  • Team familiarity: Novel patterns or technologies increase complexity

Notes:

  • the assessment must be for the totality of the PR, that means comparing the base branch to the last commit of the PR
  • the assessment output must be exactly one of: S, M or L (single-line comment) in format of: SIZE={S/M/L}
  • do not include any additional text, only the size classification
  • your assessment comment must not include tips or additional sections
  • do NOT tag me or anyone else on your comment

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