fix CI issues - #2283
Conversation
WalkthroughUpdates CI workflows and Nix flake: adds artifact-cleanup steps and WALLETCONNECT_PROJECT_ID fallbacks in multiple GitHub Actions workflows; replaces prep-all.sh with explicit nix develop invocations; changes tauri CI triggers; and introduces an ob-tauri-dylibs task with macOS dylib references switched to Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant GH as GitHub Actions
participant Checkout as Checkout (recursive)
participant NixDev as nix develop (workdirs)
participant TestJS1 as JS/TS Binding Tests (1/2)
participant Cleanup as Remove Test Artifacts
participant TestJS2 as JS/TS Binding Tests (2/2)
participant TauriApp as tauri-app (pre-build)
rect rgb(240,248,255)
GH->>Checkout: checkout repo + submodules
GH->>NixDev: nix develop (workdir A/B) with PUBLIC_WALLETCONNECT_PROJECT_ID
end
GH->>TestJS1: run bindings tests (1/2)
GH->>Cleanup: rm -rf target/debug, target/wasm32-unknown-unknown/debug
GH->>TestJS2: run bindings tests (2/2)
Note over GH,TauriApp: tauri-release pre-build/test sequence
GH->>TauriApp: tauri-before-build-ci (WALLETCONNECT_PROJECT_ID -> 'test')
GH->>TauriApp: svelte-lint-format-check
GH->>TauriApp: tauri-rs-test (CARGO_INCREMENTAL=0)
sequenceDiagram
autonumber
participant Flake as flake.nix
participant Ob as ob-tauri-dylibs
participant Prelude as ob-tauri-prelude
participant Build as ob-tauri-before-build
participant Test as tauri-rs-test
Flake->>Ob: define ob-tauri-dylibs task
Flake->>Prelude: include ob-tauri-dylibs in prelude
Build->>Ob: call ob-tauri-dylibs during pre-build
Test->>Build: tauri-rs-test calls ob-tauri-before-build then cargo test
Note over Ob: adjusts macOS dylib copies/identifiers using `old-pkgs.*`
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes
Possibly related PRs
Suggested labels
Suggested reviewers
Pre-merge checks and finishing touches❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: ASSERTIVE Plan: Pro 📒 Files selected for processing (1)
🧰 Additional context used🧠 Learnings (15)📓 Common learnings📚 Learning: 2025-08-20T06:59:07.794ZApplied to files:
📚 Learning: 2025-10-06T08:05:50.452ZApplied to files:
📚 Learning: 2025-10-06T08:05:50.452ZApplied to files:
📚 Learning: 2025-10-06T08:05:50.452ZApplied to files:
📚 Learning: 2025-10-06T08:05:50.452ZApplied to files:
📚 Learning: 2025-10-06T08:05:02.438ZApplied to files:
📚 Learning: 2025-07-11T12:30:09.245ZApplied to files:
📚 Learning: 2025-10-25T21:11:09.664ZApplied to files:
📚 Learning: 2025-10-06T08:05:50.452ZApplied to files:
📚 Learning: 2025-10-25T21:07:19.704ZApplied to files:
📚 Learning: 2025-10-25T21:06:38.487ZApplied to files:
📚 Learning: 2025-10-06T08:05:50.452ZApplied to files:
📚 Learning: 2025-10-06T08:05:02.438ZApplied to files:
📚 Learning: 2025-10-06T08:05:02.438ZApplied to files:
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
🔇 Additional comments (3)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (4)
.github/workflows/npm-package-release.yml(2 hunks).github/workflows/tauri-release.yml(1 hunks).github/workflows/tauri.yaml(1 hunks)flake.nix(6 hunks)
🧰 Additional context used
🧠 Learnings (20)
📓 Common learnings
Learnt from: CR
PR: rainlanguage/rain.orderbook#0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Quick preflight before PR: nix develop -c npm run lint-format-check:all && nix develop -c rainix-rs-static
Learnt from: rouzwelt
PR: rainlanguage/rain.orderbook#0
File: :0-0
Timestamp: 2025-05-21T22:14:22.646Z
Learning: For PR #1884 in rainlanguage/rain.orderbook, I must consistently report the PR size after EVERY new commit in the exact format "TOTAL=number\nADDITIONS=number\nDELETIONS=number" without any formatting blocks. The report must exclude lock files (package-lock.json, yarn.lock, pnpm-lock.yaml, cargo.lock) and can be included either as part of the review or as a separate comment.
Learnt from: rouzwelt
PR: rainlanguage/rain.orderbook#0
File: :0-0
Timestamp: 2025-05-21T22:14:22.646Z
Learning: For PR #1884 in rainlanguage/rain.orderbook, I must consistently report the PR size after EVERY new commit in the exact format "TOTAL=number\nADDITIONS=number\nDELETIONS=number" without any additional text or formatting blocks. The report must exclude lock files (package-lock.json, yarn.lock, pnpm-lock.yaml, cargo.lock) and can be included either as part of the review or as a separate comment.
Learnt from: rouzwelt
PR: rainlanguage/rain.orderbook#0
File: :0-0
Timestamp: 2025-05-21T23:09:27.578Z
Learning: For PR #1884 in rainlanguage/rain.orderbook repository, I must always reassess the PR size after each new commit, calculating the total changes up to the very latest commit and ensuring accuracy of the report. The calculation must exclude lock files (package-lock.json, yarn.lock, pnpm-lock.yaml, cargo.lock) and report in the exact format "TOTAL=number\nADDITIONS=number\nDELETIONS=number".
Learnt from: rouzwelt
PR: rainlanguage/rain.orderbook#0
File: :0-0
Timestamp: 2025-05-21T21:24:53.708Z
Learning: For PR #1884 in rainlanguage/rain.orderbook, provide a separate comment after each review with PR size statistics in the format: `TOTAL=number ADDITIONS=number DELETIONS=number`, excluding lock files like package-lock.json and cargo.lock.
Learnt from: rouzwelt
PR: rainlanguage/rain.orderbook#0
File: :0-0
Timestamp: 2025-05-21T21:24:53.708Z
Learning: For PR #1884 in rainlanguage/rain.orderbook, provide a separate comment after each review with PR size statistics in the format: `TOTAL=number ADDITIONS=number DELETIONS=number`, excluding lock files like package-lock.json and cargo.lock.
Learnt from: rouzwelt
PR: rainlanguage/rain.orderbook#0
File: :0-0
Timestamp: 2025-05-21T21:24:53.708Z
Learning: For PR #1884 in rainlanguage/rain.orderbook, provide a separate comment after each review with PR size statistics in the format: `TOTAL=number ADDITIONS=number DELETIONS=number`, excluding lock files like package-lock.json and cargo.lock.
Learnt from: rouzwelt
PR: rainlanguage/rain.orderbook#0
File: :0-0
Timestamp: 2025-05-21T21:24:53.708Z
Learning: For PR #1884 in rainlanguage/rain.orderbook, provide a separate comment after each review with PR size statistics in the format: `TOTAL=number ADDITIONS=number DELETIONS=number`, excluding lock files like package-lock.json and cargo.lock.
Learnt from: rouzwelt
PR: rainlanguage/rain.orderbook#0
File: :0-0
Timestamp: 2025-05-21T21:26:31.566Z
Learning: For PR #1884 and future PRs in rainlanguage/rain.orderbook repository, provide PR size reports in a separate comment with ONLY the exact format "TOTAL=number\nADDITIONS=number\nDELETIONS=number", without any additional text or explanation. Reports should exclude irrelevant files such as lock files (package-lock.json, yarn.lock, pnpm-lock.yaml, cargo.lock).
Learnt from: rouzwelt
PR: rainlanguage/rain.orderbook#0
File: :0-0
Timestamp: 2025-05-21T21:25:47.873Z
Learning: After each new commit review for rainlanguage/rain.orderbook repository, generate a PR size report in a separate comment with the format: "TOTAL=number ADDITIONS=number DELETIONS=number". This report should exclude irrelevant files such as lock files (e.g., package-lock.json, cargo.lock).
📚 Learning: 2025-10-06T08:05:50.452Z
Learnt from: CR
PR: rainlanguage/rain.orderbook#0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Quick preflight before PR: nix develop -c npm run lint-format-check:all && nix develop -c rainix-rs-static
Applied to files:
.github/workflows/tauri-release.yml.github/workflows/npm-package-release.yml.github/workflows/tauri.yamlflake.nix
📚 Learning: 2025-10-06T08:05:50.452Z
Learnt from: CR
PR: rainlanguage/rain.orderbook#0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Rust: build with nix develop -c cargo build --workspace; test with nix develop -c cargo test
Applied to files:
.github/workflows/tauri-release.yml.github/workflows/npm-package-release.yml.github/workflows/tauri.yamlflake.nix
📚 Learning: 2025-10-06T08:05:50.452Z
Learnt from: CR
PR: rainlanguage/rain.orderbook#0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: JS workspaces: nix develop -c npm run test/build commands at top-level
Applied to files:
.github/workflows/tauri-release.yml.github/workflows/npm-package-release.yml.github/workflows/tauri.yamlflake.nix
📚 Learning: 2025-10-06T08:05:50.452Z
Learnt from: CR
PR: rainlanguage/rain.orderbook#0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Tauri: nix develop .#tauri-shell --command cargo tauri dev
Applied to files:
.github/workflows/tauri-release.yml.github/workflows/tauri.yamlflake.nix
📚 Learning: 2025-10-06T08:05:50.452Z
Learnt from: CR
PR: rainlanguage/rain.orderbook#0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Run all commands via nix develop -c <cmd>; avoid interactive Nix shells (use shell attrs like nix develop .#tauri-shell when needed)
Applied to files:
.github/workflows/tauri-release.yml.github/workflows/tauri.yaml
📚 Learning: 2025-10-06T08:05:50.452Z
Learnt from: CR
PR: rainlanguage/rain.orderbook#0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Solidity: build with nix develop -c forge build; test with nix develop -c forge test
Applied to files:
.github/workflows/tauri-release.yml.github/workflows/npm-package-release.yml.github/workflows/tauri.yamlflake.nix
📚 Learning: 2025-10-06T08:05:02.438Z
Learnt from: CR
PR: rainlanguage/rain.orderbook#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-10-06T08:05:02.438Z
Learning: Always run all commands via Nix using: nix develop -c <command>
Applied to files:
.github/workflows/tauri-release.yml.github/workflows/npm-package-release.yml.github/workflows/tauri.yaml
📚 Learning: 2025-10-06T08:05:50.452Z
Learnt from: CR
PR: rainlanguage/rain.orderbook#0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Applies to tauri-app/** : Desktop app code is in tauri-app (Rust + Svelte); src-tauri is not part of the Cargo workspace
Applied to files:
.github/workflows/tauri-release.ymlflake.nix
📚 Learning: 2025-10-06T08:05:02.438Z
Learnt from: CR
PR: rainlanguage/rain.orderbook#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-10-06T08:05:02.438Z
Learning: Before pushing, re-run quick verification (lint-format-check:all, npm tests, cargo tests)
Applied to files:
.github/workflows/tauri-release.yml.github/workflows/npm-package-release.yml
📚 Learning: 2025-10-06T08:05:50.452Z
Learnt from: CR
PR: rainlanguage/rain.orderbook#0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: WASM bundle via nix develop -c rainix-wasm-artifacts
Applied to files:
.github/workflows/tauri-release.yml.github/workflows/npm-package-release.yml.github/workflows/tauri.yamlflake.nix
📚 Learning: 2025-10-06T08:05:02.438Z
Learnt from: CR
PR: rainlanguage/rain.orderbook#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-10-06T08:05:02.438Z
Learning: Applies to packages/webapp/**/*.{test,spec}.{ts,tsx} : Webapp tests must pass (npm run test -w rainlanguage/webapp)
Applied to files:
.github/workflows/npm-package-release.yml
📚 Learning: 2025-10-06T08:05:50.452Z
Learnt from: CR
PR: rainlanguage/rain.orderbook#0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Applies to **/*.rs : Lint Rust with nix develop -c rainix-rs-static (preconfigured flags)
Applied to files:
.github/workflows/npm-package-release.yml.github/workflows/tauri.yaml
📚 Learning: 2025-07-11T12:30:09.245Z
Learnt from: findolor
PR: rainlanguage/rain.orderbook#1971
File: .github/workflows/vercel-docs-prod.yaml:32-34
Timestamp: 2025-07-11T12:30:09.245Z
Learning: findolor prefers not to pin Node versions explicitly in GitHub Actions workflows when using Nix with webapp-shell, considering the current setup sufficient for deterministic builds in the rainlanguage/rain.orderbook project.
Applied to files:
.github/workflows/npm-package-release.yml
📚 Learning: 2025-10-06T08:05:50.452Z
Learnt from: CR
PR: rainlanguage/rain.orderbook#0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Applies to **/*.rs : Format Rust with nix develop -c cargo fmt --all
Applied to files:
.github/workflows/tauri.yaml
📚 Learning: 2025-10-06T08:05:02.438Z
Learnt from: CR
PR: rainlanguage/rain.orderbook#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-10-06T08:05:02.438Z
Learning: Applies to crates/*/tests/**/*.rs : Rust crates must have passing tests (cargo test --workspace or --package <crate>)
Applied to files:
flake.nix
📚 Learning: 2025-05-16T17:24:34.724Z
Learnt from: 0xgleb
PR: rainlanguage/rain.orderbook#1844
File: tauri-app/src-tauri/src/commands/wallet.rs:27-28
Timestamp: 2025-05-16T17:24:34.724Z
Learning: In Rust projects, dependencies listed in the [dependencies] section of Cargo.toml are available for both application code and tests. The tokio crate with the "full" feature set includes the "test" feature needed for `#[tokio::test]` to work properly.
Applied to files:
flake.nix
📚 Learning: 2025-10-06T08:05:50.452Z
Learnt from: CR
PR: rainlanguage/rain.orderbook#0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Webapp: cd packages/webapp && nix develop -c npm run dev
Applied to files:
flake.nix
📚 Learning: 2025-05-14T04:49:14.621Z
Learnt from: findolor
PR: rainlanguage/rain.orderbook#1710
File: crates/quote/Cargo.toml:30-30
Timestamp: 2025-05-14T04:49:14.621Z
Learning: In the rain.orderbook repository, wasm-bindgen-utils is intentionally used as an unconditional dependency because non-wasm targets (like tests) sometimes need to use it.
Applied to files:
flake.nix
📚 Learning: 2025-10-25T21:06:38.487Z
Learnt from: rouzwelt
PR: rainlanguage/rain.orderbook#2246
File: packages/orderbook/scripts/buildCjs.js:38-53
Timestamp: 2025-10-25T21:06:38.487Z
Learning: In the rain.orderbook repository, build scripts in packages/orderbook/scripts/ (such as buildCjs.js and buildEsm.js) should keep duplicated logic separate rather than extracting to shared utilities, even when identical, to allow future divergence and to surface breaking changes as early failures.
Applied to files:
flake.nix
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (12)
- GitHub Check: test
- GitHub Check: standard-tests (ubuntu-latest, rainix-wasm-artifacts)
- GitHub Check: standard-tests (ubuntu-latest, rainix-sol-static)
- GitHub Check: standard-tests (ubuntu-latest, rainix-sol-test)
- GitHub Check: standard-tests (ubuntu-latest, ob-rs-test, true)
- GitHub Check: standard-tests (ubuntu-latest, rainix-sol-artifacts)
- GitHub Check: standard-tests (ubuntu-latest, rainix-rs-artifacts, true)
- GitHub Check: test
- GitHub Check: test
- GitHub Check: Deploy-Docs-Preview
- GitHub Check: build-tauri (ubuntu-22.04, true)
- GitHub Check: Deploy-Preview-Push
🔇 Additional comments (12)
.github/workflows/tauri.yaml (2)
4-5: LGTM! Trigger logic correctly inverted.The change from
branches:tobranches-ignore:correctly implements the PR objective to run Tauri build/test CI only on non-main branches. This aligns with the new CI strategy where tauri-release.yml handles main branch builds with tests.
108-110: I need to check the git diff to determine if this RUSTFLAGS removal is part of the current PR.Based on verification findings:
- CARGO_INCREMENTAL=0 forces incremental compilation to be disabled, which is standard practice in CI environments for clean builds
- RUSTFLAGS is a space-separated list of custom flags to pass to all compiler invocations and serves a different purpose than incremental compilation control
- RUSTFLAGS is not present in any current workflow files (confirmed by shell script)
- No git history documents this RUSTFLAGS removal
The step name "Run Rust tests with reduced debug artifacts" remains accurate with CARGO_INCREMENTAL=0 alone, as disabling incremental compilation reduces build artifacts. Without evidence of what RUSTFLAGS value was previously set or confirmation that it was required for the test behavior, the removal appears to be an intentional workflow simplification rather than an accidental regression.
However, the original concern about intentionality is valid—the developer should confirm whether this removal was deliberate.
The RUSTFLAGS removal appears intentional and carries no apparent functional risk, as CARGO_INCREMENTAL=0 alone provides standard CI build optimization. Confirm this removal was intentional during code review, but code changes do not require modification.
.github/workflows/npm-package-release.yml (2)
28-31: LGTM! Consistent submodule handling.Adding
submodules: recursiveensures consistency with other workflows (tauri.yaml and tauri-release.yml) and is necessary for proper dependency resolution.
56-72: Excellent optimization to avoid disk space issues.Replacing
./prep-all.shwith targetednix developcommands builds only the necessary artifacts for npm package release, avoiding the "OS no space" errors mentioned in the PR description. This selective build approach is more efficient for the release workflow..github/workflows/tauri-release.yml (2)
91-96: LGTM! Pre-build quality checks added.Adding
ob-tauri-before-build-ciandsvelte-lint-format-checksteps ensures quality validation before release. TheWALLETCONNECT_PROJECT_IDfallback to 'test' provides safe defaults for CI environments.
98-111: LGTM! Rust tests with proper cleanup.The addition of Rust tests with workspace resets implements the PR objective to "run tauri publish CI with tests on main." The target cleanup before and after tests, combined with
CARGO_INCREMENTAL=0, effectively manages disk space in the CI environment.flake.nix (6)
46-55: LGTM! Proper dylib setup before tests.The updated
tauri-rs-testtask now ensures dylibs are properly prepared viaob-tauri-before-buildbefore running cargo tests. This prevents missing dylib errors as mentioned in the PR objectives.
57-71: LGTM! Dylib handling integrated into prelude.Adding
ob-tauri-dylibsto the prelude task ensures dynamic libraries are properly prepared early in the build process.
157-188: LGTM! ob-tauri-before-build now handles dylibs.The integration of
ob-tauri-dylibsinto the build flow ensures dynamic libraries are properly prepared before bundling.
190-227: LGTM! Comprehensive dylib handler implementation.The new
ob-tauri-dylibstask properly handles dynamic library preparation for macOS builds:
- Copies required dylibs (libiconv, libcharset, libintl, libusb, libbz2)
- Rewrites install names to @executable_path/../Frameworks/ for proper bundling
- Uses
old-pkgs.bzip2.out(line 221) which addresses the libbz2 dylib handling issue mentioned in the PR objectives
229-250: LGTM! Consistent bzip2 package reference.The change from
pkgs.bzip2.outtoold-pkgs.bzip2.out(line 240) maintains consistency with the dylib preparation inob-tauri-dylibsand addresses the libbz2 dylib handling issue.
320-338: LGTM! ob-tauri-dylibs added to development shell.Adding
packages.ob-tauri-dylibsto the tauri-shell packages ensures the dylib handler is available for developers in the Tauri development environment.
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/npm-package-release.yml(2 hunks)
🧰 Additional context used
🧠 Learnings (11)
📓 Common learnings
Learnt from: CR
Repo: rainlanguage/rain.orderbook PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Quick preflight before PR: nix develop -c npm run lint-format-check:all && nix develop -c rainix-rs-static
Learnt from: rouzwelt
Repo: rainlanguage/rain.orderbook PR: 0
File: :0-0
Timestamp: 2025-05-21T22:14:22.646Z
Learning: For PR #1884 in rainlanguage/rain.orderbook, I must consistently report the PR size after EVERY new commit in the exact format "TOTAL=number\nADDITIONS=number\nDELETIONS=number" without any formatting blocks. The report must exclude lock files (package-lock.json, yarn.lock, pnpm-lock.yaml, cargo.lock) and can be included either as part of the review or as a separate comment.
Learnt from: rouzwelt
Repo: rainlanguage/rain.orderbook PR: 0
File: :0-0
Timestamp: 2025-05-21T22:14:22.646Z
Learning: For PR #1884 in rainlanguage/rain.orderbook, I must consistently report the PR size after EVERY new commit in the exact format "TOTAL=number\nADDITIONS=number\nDELETIONS=number" without any additional text or formatting blocks. The report must exclude lock files (package-lock.json, yarn.lock, pnpm-lock.yaml, cargo.lock) and can be included either as part of the review or as a separate comment.
Learnt from: rouzwelt
Repo: rainlanguage/rain.orderbook PR: 0
File: :0-0
Timestamp: 2025-05-21T21:24:53.708Z
Learning: For PR #1884 in rainlanguage/rain.orderbook, provide a separate comment after each review with PR size statistics in the format: `TOTAL=number ADDITIONS=number DELETIONS=number`, excluding lock files like package-lock.json and cargo.lock.
Learnt from: rouzwelt
Repo: rainlanguage/rain.orderbook PR: 0
File: :0-0
Timestamp: 2025-05-21T21:24:53.708Z
Learning: For PR #1884 in rainlanguage/rain.orderbook, provide a separate comment after each review with PR size statistics in the format: `TOTAL=number ADDITIONS=number DELETIONS=number`, excluding lock files like package-lock.json and cargo.lock.
Learnt from: rouzwelt
Repo: rainlanguage/rain.orderbook PR: 0
File: :0-0
Timestamp: 2025-05-21T21:24:53.708Z
Learning: For PR #1884 in rainlanguage/rain.orderbook, provide a separate comment after each review with PR size statistics in the format: `TOTAL=number ADDITIONS=number DELETIONS=number`, excluding lock files like package-lock.json and cargo.lock.
Learnt from: rouzwelt
Repo: rainlanguage/rain.orderbook PR: 0
File: :0-0
Timestamp: 2025-05-21T21:24:53.708Z
Learning: For PR #1884 in rainlanguage/rain.orderbook, provide a separate comment after each review with PR size statistics in the format: `TOTAL=number ADDITIONS=number DELETIONS=number`, excluding lock files like package-lock.json and cargo.lock.
Learnt from: rouzwelt
Repo: rainlanguage/rain.orderbook PR: 0
File: :0-0
Timestamp: 2025-05-21T21:26:31.566Z
Learning: For PR #1884 and future PRs in rainlanguage/rain.orderbook repository, provide PR size reports in a separate comment with ONLY the exact format "TOTAL=number\nADDITIONS=number\nDELETIONS=number", without any additional text or explanation. Reports should exclude irrelevant files such as lock files (package-lock.json, yarn.lock, pnpm-lock.yaml, cargo.lock).
Learnt from: rouzwelt
Repo: rainlanguage/rain.orderbook PR: 0
File: :0-0
Timestamp: 2025-05-21T23:09:27.578Z
Learning: For PR #1884 in rainlanguage/rain.orderbook repository, I must always reassess the PR size after each new commit, calculating the total changes up to the very latest commit and ensuring accuracy of the report. The calculation must exclude lock files (package-lock.json, yarn.lock, pnpm-lock.yaml, cargo.lock) and report in the exact format "TOTAL=number\nADDITIONS=number\nDELETIONS=number".
Learnt from: brusherru
Repo: rainlanguage/rain.orderbook PR: 2044
File: tauri-app/src/routes/orders/[chainId]-[orderbook]-[orderHash]/+page.svelte:76-78
Timestamp: 2025-07-31T19:03:56.594Z
Learning: In the rainlanguage/rain.orderbook project, when the Tauri app has issues preventing proper testing, the team prefers to defer Tauri-specific implementations to separate PRs rather than including untested code, especially for financial operations like withdrawals.
Learnt from: CR
Repo: rainlanguage/rain.orderbook PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: WASM bundle via nix develop -c rainix-wasm-artifacts
Learnt from: CR
Repo: rainlanguage/rain.orderbook PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Run all commands via nix develop -c <cmd>; avoid interactive Nix shells (use shell attrs like nix develop .#tauri-shell when needed)
Learnt from: CR
Repo: rainlanguage/rain.orderbook PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: JS workspaces: nix develop -c npm run test/build commands at top-level
Learnt from: CR
Repo: rainlanguage/rain.orderbook PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Solidity: build with nix develop -c forge build; test with nix develop -c forge test
Learnt from: CR
Repo: rainlanguage/rain.orderbook PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Rust: build with nix develop -c cargo build --workspace; test with nix develop -c cargo test
Learnt from: CR
Repo: rainlanguage/rain.orderbook PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Tauri: nix develop .#tauri-shell --command cargo tauri dev
📚 Learning: 2025-10-06T08:05:50.452Z
Learnt from: CR
Repo: rainlanguage/rain.orderbook PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: JS workspaces: nix develop -c npm run test/build commands at top-level
Applied to files:
.github/workflows/npm-package-release.yml
📚 Learning: 2025-10-06T08:05:50.452Z
Learnt from: CR
Repo: rainlanguage/rain.orderbook PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Quick preflight before PR: nix develop -c npm run lint-format-check:all && nix develop -c rainix-rs-static
Applied to files:
.github/workflows/npm-package-release.yml
📚 Learning: 2025-10-06T08:05:50.452Z
Learnt from: CR
Repo: rainlanguage/rain.orderbook PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Solidity: build with nix develop -c forge build; test with nix develop -c forge test
Applied to files:
.github/workflows/npm-package-release.yml
📚 Learning: 2025-10-06T08:05:50.452Z
Learnt from: CR
Repo: rainlanguage/rain.orderbook PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: WASM bundle via nix develop -c rainix-wasm-artifacts
Applied to files:
.github/workflows/npm-package-release.yml
📚 Learning: 2025-10-06T08:05:50.452Z
Learnt from: CR
Repo: rainlanguage/rain.orderbook PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Rust: build with nix develop -c cargo build --workspace; test with nix develop -c cargo test
Applied to files:
.github/workflows/npm-package-release.yml
📚 Learning: 2025-10-06T08:05:02.438Z
Learnt from: CR
Repo: rainlanguage/rain.orderbook PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-10-06T08:05:02.438Z
Learning: Applies to packages/webapp/**/*.{test,spec}.{ts,tsx} : Webapp tests must pass (npm run test -w rainlanguage/webapp)
Applied to files:
.github/workflows/npm-package-release.yml
📚 Learning: 2025-10-06T08:05:02.438Z
Learnt from: CR
Repo: rainlanguage/rain.orderbook PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-10-06T08:05:02.438Z
Learning: Before pushing, re-run quick verification (lint-format-check:all, npm tests, cargo tests)
Applied to files:
.github/workflows/npm-package-release.yml
📚 Learning: 2025-10-06T08:05:50.452Z
Learnt from: CR
Repo: rainlanguage/rain.orderbook PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-10-06T08:05:50.452Z
Learning: Applies to **/*.rs : Lint Rust with nix develop -c rainix-rs-static (preconfigured flags)
Applied to files:
.github/workflows/npm-package-release.yml
📚 Learning: 2025-07-11T12:30:09.245Z
Learnt from: findolor
Repo: rainlanguage/rain.orderbook PR: 1971
File: .github/workflows/vercel-docs-prod.yaml:32-34
Timestamp: 2025-07-11T12:30:09.245Z
Learning: findolor prefers not to pin Node versions explicitly in GitHub Actions workflows when using Nix with webapp-shell, considering the current setup sufficient for deterministic builds in the rainlanguage/rain.orderbook project.
Applied to files:
.github/workflows/npm-package-release.yml
📚 Learning: 2025-10-06T08:05:02.438Z
Learnt from: CR
Repo: rainlanguage/rain.orderbook PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-10-06T08:05:02.438Z
Learning: Always run all commands via Nix using: nix develop -c <command>
Applied to files:
.github/workflows/npm-package-release.yml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (17)
- GitHub Check: test
- GitHub Check: git-clean
- GitHub Check: test
- GitHub Check: standard-tests (ubuntu-latest, rainix-wasm-test)
- GitHub Check: standard-tests (ubuntu-latest, rainix-rs-static)
- GitHub Check: standard-tests (ubuntu-latest, rainix-wasm-artifacts)
- GitHub Check: standard-tests (ubuntu-latest, rainix-sol-legal)
- GitHub Check: standard-tests (ubuntu-latest, test-js-bindings)
- GitHub Check: standard-tests (ubuntu-latest, rainix-rs-artifacts, true)
- GitHub Check: standard-tests (ubuntu-latest, ob-rs-test, true)
- GitHub Check: standard-tests (ubuntu-latest, rainix-sol-artifacts)
- GitHub Check: standard-tests (ubuntu-latest, rainix-sol-static)
- GitHub Check: standard-tests (ubuntu-latest, rainix-sol-test)
- GitHub Check: test
- GitHub Check: Deploy-Docs-Preview
- GitHub Check: Deploy-Preview-Push
- GitHub Check: build-tauri (ubuntu-22.04, true)
🔇 Additional comments (3)
.github/workflows/npm-package-release.yml (3)
31-31: Good: Add recursive submodules checkout.Necessary for building and testing submodule dependencies in the prelude/build steps.
77-80: Good: Artifact cleanup step placement is sound; previously flagged typo is fixed.The cleanup strategically frees disk space between test phases (after Test JS/TS Binding 1/2, before 2/2). The path typo from the previous review ("wasm32-unnown-unknown" → "wasm32-unknown-unknown") has been corrected. However, verify whether these cleanup paths are sufficient to resolve the reported "OS no space" errors in the broader CI context.
Confirm the cleanup scope is adequate. The current paths clean debug artifacts (
./target/debugand./target/wasm32-unknown-unknown/debug). Consider whether additional artifact categories (e.g., release builds, caches, or intermediate files from other build steps) should also be cleaned to maximize available disk space for subsequent steps.
14-24: Good: Environment variables are appropriately scoped.The removal of
PUBLIC_WALLETCONNECT_PROJECT_IDaligns with the PR objective to simplify the npm release flow. Existing RPC and deployment environment variables remain in place for contract interactions.
| branches: | ||
| branches-ignore: | ||
| - main | ||
| pull_request: |
There was a problem hiding this comment.
the reason we have this is because otherwise the workflows aren't able to run on PRs from downstream forks
|
@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=L 🧠 Learnings used |
Motivation
Solution
Checks
By submitting this for review, I'm confirming I've done the following:
Summary by CodeRabbit