Repository navigation
Use rainix copy-artifacts meta hook; drop git-clean - #2603
Conversation
Move the authoring-meta currency check upstream into the rainix copy-artifacts reusable via the new script/build-meta.sh hook (rainlanguage/rainix#208), and drop the bespoke git-clean workflow whose only unique coverage was meta regeneration. The script mirrors the body of the raindex-prelude flake task but nix-shells rain.cli for `rain meta build`, since the reusable's #sol-shell wrapper is sol-only. Resolves #2600. copy-artifacts.yaml is pinned to the rainix PR branch for end-to-end validation; revert to @main when #208 merges. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
Warning Review limit reached
More reviews will be available in 54 minutes and 53 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 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 configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis PR replaces the git-clean workflow with a dedicated metadata build script, updates workflow documentation to reference the new script, and removes the obsolete git-clean job. The change consolidates metadata generation into a single executable script. ChangesMetadata Build Workflow Refactor
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related issues
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
testRaindexWithdrawEvalWriteStateDifferentOwnersNamespaced was the only fuzz test in this file missing the nonzero-vaultId assumption, so it occasionally hit ZeroVaultId on a zero-bytes32 counterexample. Match the sibling tests in the file. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
There was a problem hiding this comment.
🧹 Nitpick comments (1)
script/build-meta.sh (1)
9-15: ⚡ Quick winConsider pinning the rain.cli version for reproducible builds.
The
nix shell github:rainlanguage/rain.clicommand fetches the latest version from the default branch without pinning to a specific commit, tag, or ref. This could lead to non-deterministic builds if the CLI tool changes.To improve build reproducibility and prevent unexpected breakage, consider pinning to a specific ref:
nix shell github:rainlanguage/rain.cli/<commit-or-tag> -c rain meta build \While the copy-artifacts workflow will catch output mismatches, pinning would prevent spurious CI failures and ensure consistent metadata generation across environments.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@script/build-meta.sh` around lines 9 - 15, The nix invocation in the script/build-meta.sh uses an unpinned channel ("nix shell github:rainlanguage/rain.cli -c rain meta build") which can make builds non-deterministic; update that command to pin the rain.cli to a specific commit or tag (e.g., "nix shell github:rainlanguage/rain.cli/<commit-or-tag> -c rain meta build") so the rain meta build invocation always uses a fixed CLI version; change the single occurrence of the unpinned string in the script to the pinned form and document the chosen commit/tag in the script header or a comment.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@script/build-meta.sh`:
- Around line 9-15: The nix invocation in the script/build-meta.sh uses an
unpinned channel ("nix shell github:rainlanguage/rain.cli -c rain meta build")
which can make builds non-deterministic; update that command to pin the rain.cli
to a specific commit or tag (e.g., "nix shell
github:rainlanguage/rain.cli/<commit-or-tag> -c rain meta build") so the rain
meta build invocation always uses a fixed CLI version; change the single
occurrence of the unpinned string in the script to the pinned form and document
the chosen commit/tag in the script header or a comment.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 1f638563-7f31-48ff-8a17-f9bd6bf889b5
📒 Files selected for processing (3)
.github/workflows/copy-artifacts.yaml.github/workflows/git-clean.yamlscript/build-meta.sh
💤 Files with no reviewable changes (1)
- .github/workflows/git-clean.yaml
|
@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=M |
Summary
script/build-meta.sh— mirrors the body of theraindex-preludeflake task, but nix-shellsrain.cliforrain meta buildsince the rainix reusable wraps it in#sol-shell..github/workflows/git-clean.yaml. With the meta hook running upstream inrainix-copy-artifacts, git-clean's only unique coverage (meta currency) is gone; pointer currency is in copy-artifacts andforge fmtcleanliness is inrainix-sol / static..github/workflows/copy-artifacts.yamlat the rainix PR branch@2026-05-30-copy-artifacts-metaso this PR validates the new hook end-to-end. Will be reverted to@mainafter copy-artifacts: regenerate meta via consumer-provided build-meta.sh hook rainix#208 merges.Resolves #2600. Depends on rainlanguage/rainix#208.
Test plan
copy-artifacts / copy-artifactsruns the newscript/build-meta.shand the diff stays clean (committedmeta/*.rain.metamatch a fresh regen).forge fmt --checklives inrainix-sol / static).copy-artifacts.yamlback to@mainonce rainix#208 merges and re-run.🤖 Generated with Claude Code
Summary by CodeRabbit
Documentation
Chores