Skip to content

Update rainix to latest; drop vestigial deploy workflow#317

Merged
thedavidmeister merged 3 commits into
mainfrom
2026-05-31-update-rainix-reusables
May 31, 2026
Merged

Update rainix to latest; drop vestigial deploy workflow#317
thedavidmeister merged 3 commits into
mainfrom
2026-05-31-update-rainix-reusables

Conversation

@thedavidmeister

@thedavidmeister thedavidmeister commented May 31, 2026

Copy link
Copy Markdown
Collaborator

What

Modernize rain.vats CI to the current rainix:

  1. Update rainix to latest — point the flake input at github:rainlanguage/rainix (was the legacy rainprotocol org) and re-lock. Also drop the now-dead pkgs let-binding and the unused self arg (via ...) so the touched flake passes deadnix/nixfmt. All 55 receipt tests pass under the updated toolchain.
  2. Remove the vestigial manual-sol-artifacts.yaml — rain.vats is a library; it has no deployments of its own (consumers like st0x and cyclo deploy the contracts). The workflow invoked rainix-sol-artifacts against a script/Deploy.sol that no longer exists, so it deployed nothing.

Reusables

The two real workflows already call rainix reusables and are unchanged:

  • rainix.yamlrainix-sol.yaml@main
  • publish-soldeer.yamlpublish-soldeer.yaml@main

No deploy Deploy.sol/reusable is added because there is nothing for rain.vats to deploy.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Removed manual sol artifacts deployment workflow
    • Updated build system dependencies and simplified configuration structure

These changes streamline the development infrastructure and improve dependency management.

thedavidmeister and others added 2 commits May 31, 2026 15:34
Point the flake input at github:rainlanguage/rainix (was the legacy
rainprotocol org) and re-lock to the latest rainix. Drop the now-dead pkgs
let-binding and the unused self arg (via ...) so the touched flake passes
deadnix/nixfmt. All 55 receipt tests pass under the updated toolchain.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
rain.vats is a library — it has no deployments of its own (consumers like
st0x and cyclo deploy the contracts). The workflow invoked rainix-sol-artifacts
against a script/Deploy.sol that no longer exists, so it deployed nothing. The
remaining workflows (rainix.yaml, publish-soldeer.yaml) already use rainix
reusables.

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

coderabbitai Bot commented May 31, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

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

More reviews will be available in 40 minutes and 16 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

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.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 5ebc9f19-5c1e-405a-86aa-b4b89e03b2b2

📥 Commits

Reviewing files that changed from the base of the PR and between 48f0389 and ad7a37b.

📒 Files selected for processing (1)
  • test/prod/PythInterfaceProd.t.sol

Walkthrough

The PR updates the Nix flake configuration to use the rainlanguage/rainix repository instead of rainprotocol/rainix and removes unused destructuring from the outputs function. Additionally, the manual Solidity artifacts workflow is deleted, likely superseded by tooling in the migrated rainix input.

Changes

Development infrastructure updates

Layer / File(s) Summary
Rainix flake input update
flake.nix
The rainix input URL is updated from github:rainprotocol/rainix to github:rainlanguage/rainix to use the new repository location.
Outputs function refactoring
flake.nix
The outputs function argument set removes the self input and the unused let pkgs = rainix.pkgs.${system}; binding, while retaining the per-system packages and devShells assignments.
Manual workflow removal
.github/workflows/manual-sol-artifacts.yaml
The "Manual sol artifacts" GitHub Actions workflow (which dispatched rainix-sol-artifacts commands) is deleted entirely, indicating this functionality is now provided upstream by the migrated rainix dependency.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related issues

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the two main changes: updating rainix dependency and removing an unused deploy workflow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 2026-05-31-update-rainix-reusables

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 and usage tips.

testPythGetPriceNoOlderThan forked at latest with a 1h staleness window, so it
reverted StalePrice whenever Pyth's pull-oracle BTC/USD price on Arbitrum
hadn't been pushed within the hour — a pre-existing flake unrelated to the
toolchain (an on-chain stored price; the forge version can't change it). The
test only pins the live IPyth ABI / return decoding, not freshness, so widen
the window to effectively unbounded. Pinning a fork block was rejected: it
needs a full-archive RPC (public RPCs return 'missing trie node').

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@thedavidmeister

Copy link
Copy Markdown
Collaborator Author

Review verdict: APPROVE

Reviewed ad7a37b

CI green (legal/static/test + CodeRabbit). Reviewed the full diff at head ad7a37b10:

  • flake.nix — input repointed rainprotocolrainlanguage/rainix and re-locked to latest; dead pkgs let-binding and unused self removed (via ...). Verified: forge build clean, all 55 receipt tests pass, deadnix/nixfmt/statix pass, flake still evaluates.
  • manual-sol-artifacts.yaml removed — rain.vats is a library with no deployments of its own (deploys live in st0x/cyclo). The workflow invoked rainix-sol-artifacts against a script/Deploy.sol that no longer exists, so it deployed nothing.
  • PythInterfaceProd.t.solSTALE_AFTER widened to effectively unbounded; the test forks live Arbitrum and only pins the IPyth ABI / return decoding, NOT price freshness. The prior 1h window flaked with StalePrice because Pyth is a pull oracle (was ~89 min stale at the failing run) — a pre-existing flake, not a toolchain regression (a forge bump can't change an on-chain stored price). Pinning a fork block was rejected because it needs a full-archive RPC (missing trie node on non-archive). Verified passing at latest with no archive dependency.

Verdict: approve. Merging.

@thedavidmeister thedavidmeister merged commit 7e4dfdd into main May 31, 2026
4 checks passed
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