Skip to content

fix CI issues - #2283

Merged
hardyjosh merged 21 commits into
mainfrom
2025-10-30-fix-macos-tauri-build
Nov 3, 2025
Merged

fix CI issues#2283
hardyjosh merged 21 commits into
mainfrom
2025-10-30-fix-macos-tauri-build

Conversation

@rouzwelt

@rouzwelt rouzwelt commented Oct 30, 2025

Copy link
Copy Markdown
Contributor

Motivation

Solution

  • make tauri build/test CI to only run in non-main branches, and run tauri publish CI with tests on main
  • add dylib handler command to nix commands and run it on tauri prelude, so that the dylibs won't be missing
  • fix libzb2 dylib for tauri bundle command
  • remove test artifacts on npm release CI after the wasm-bindgen rust test are done to freeup space for remaining CI steps

Checks

By submitting this for review, I'm confirming I've done the following:

  • made this PR as small as possible
  • unit-tested any new functionality
  • linked any relevant issues or PRs
  • included screenshots (if this involves a front-end change)

Summary by CodeRabbit

  • Chores
    • Enhanced CI pre-build validation and expanded pre-release test steps to catch issues earlier.
    • Added automatic cleanup of test artifacts between test stages to reduce cross-test contamination.
    • Adjusted workflow triggers to avoid redundant runs (push/pull-request trigger changes).
    • Standardized macOS dynamic-library preparation and added a dedicated dylib task to improve build reliability.
    • Sourced WalletConnect project ID from secrets with a safe fallback for pre-build checks.

@coderabbitai

coderabbitai Bot commented Oct 30, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

Updates 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 old-pkgs.*.

Changes

Cohort / File(s) Change Summary
GitHub Actions — npm-package-release
.github/workflows/npm-package-release.yml
Replaced prep-all.sh invocation with explicit nix develop calls that pass PUBLIC_WALLETCONNECT_PROJECT_ID (fallback 'test'); added recursive submodule checkout; added artifact cleanup steps (target/debug etc.) between binding test runs.
GitHub Actions — tauri-release
.github/workflows/tauri-release.yml
Inserted pre-release CI steps: run tauri-before-build-ci (uses WALLETCONNECT_PROJECT_ID secret with 'test' fallback), svelte lint/format check, workspace target cleanup, and Rust tests (CARGO_INCREMENTAL=0), before existing ob-tauri-before-release.
GitHub Actions — tauri
.github/workflows/tauri.yaml
Changed push trigger to branches-ignore: - main, removed pull_request trigger, and removed RUSTFLAGS env from the Rust test step (left CARGO_INCREMENTAL).
Nix configuration (flake)
flake.nix
Added ob-tauri-dylibs rainix task and wired it into ob-tauri-prelude, ob-tauri-before-build, and tauri-rs-test; updated Darwin dylib handling to copy/patch libs from old-pkgs.* (e.g., libbz2) and added ob-tauri-dylibs to devShells.tauri-shell.

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)
Loading
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.*`
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Review flake.nix dylib handling and correctness of old-pkgs.* substitutions on Darwin.
  • Verify CI ordering and that artifact cleanup steps don't remove required outputs between steps.
  • Confirm secret fallback usage (WALLETCONNECT_PROJECT_ID / PUBLIC_WALLETCONNECT_PROJECT_ID) is correct for all new steps.

Possibly related PRs

Suggested labels

bug, general update

Suggested reviewers

  • hardyjosh
  • thedavidmeister

Pre-merge checks and finishing touches

❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Title Check ❓ Inconclusive The title "fix CI issues" is extremely vague and generic, using non-descriptive terms that fail to convey meaningful information about the changeset. While the changes are indeed CI-related, the title could apply to nearly any CI modification and provides no guidance about what specific issues are being addressed. The PR objectives reveal several distinct improvements: modifying CI behavior for tauri builds, adding dylib handlers, fixing libbz2 dylib handling, and optimizing the npm release flow to prevent space errors. None of these specifics are reflected in the overly broad title. The title should be more specific and descriptive to clearly distinguish this PR from other CI changes. Consider revising it to highlight the main objectives, such as "Add dylib handling and optimize CI workflows for tauri builds" or "Fix macOS tauri build CI and reduce npm release artifact bloat," which would better capture the essence of the changes and help reviewers quickly understand the purpose of the changeset.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 2025-10-30-fix-macos-tauri-build

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 952b3f6 and 5e8ff5b.

📒 Files selected for processing (1)
  • .github/workflows/npm-package-release.yml (1 hunks)
🧰 Additional context used
🧠 Learnings (15)
📓 Common learnings
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: 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-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: rouzwelt
Repo: rainlanguage/rain.orderbook PR: 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).
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.
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)
📚 Learning: 2025-08-20T06:59:07.794Z
Learnt from: hardyjosh
Repo: rainlanguage/rain.orderbook PR: 2087
File: .github/workflows/vercel-preview.yaml:69-77
Timestamp: 2025-08-20T06:59:07.794Z
Learning: In the rain.orderbook project, for Vercel preview workflows, the PUBLIC_WALLETCONNECT_PROJECT_ID should be hardcoded to "test" rather than using the secret with fallback, as the real ID is not needed for preview builds and will be available when it matters in production contexts.

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: 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/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: 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: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
📚 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-25T21:11:09.664Z
Learnt from: rouzwelt
Repo: rainlanguage/rain.orderbook PR: 2246
File: packages/orderbook/scripts/sizeCheck.js:1-11
Timestamp: 2025-10-25T21:11:09.664Z
Learning: In the rain.orderbook repository, build scripts like sizeCheck.js intentionally lack defensive error handling (e.g., checking for missing arguments or file existence). The scripts should fail with raw errors to surface configuration or build pipeline issues that require immediate attention.

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-25T21:07:19.704Z
Learnt from: rouzwelt
Repo: rainlanguage/rain.orderbook PR: 2246
File: packages/orderbook/scripts/buildEsm.js:38-53
Timestamp: 2025-10-25T21:07:19.704Z
Learning: In the rain.orderbook repository, the deduplication logic in buildEsm.js (and similar build scripts) intentionally lacks defensive checks for indexOf returning -1. If duplicates are not found, the script should throw to surface breaking changes in wasm-bindgen output that require attention.

Applied to files:

  • .github/workflows/npm-package-release.yml
📚 Learning: 2025-10-25T21:06:38.487Z
Learnt from: rouzwelt
Repo: rainlanguage/rain.orderbook PR: 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:

  • .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: 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: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
⏰ 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)
  • GitHub Check: build-tauri (ubuntu-22.04, true)
🔇 Additional comments (3)
.github/workflows/npm-package-release.yml (3)

56-57: Environment variable fallback pattern is consistent with project conventions.

The WALLETCONNECT_PROJECT_ID fallback to 'test' aligns with established patterns in other workflows and is appropriate for CI environments.


59-60: Artifact cleanup strategy correctly implements disk space management.

The sequential cleanup steps (after build prep and between test phases) are well-placed to free disk space. The paths are correct (wasm32-unknown-unknown), and the strategy aligns with the PR objective of removing test artifacts to prevent "OS no space" failures.

Also applies to: 65-68


55-57: Verify workflow strategy aligns with PR intent.

The PR objectives state the goal is to "avoid running prep-all" by "build[ing] only contract artifacts and the ob package required for npm release." However, the workflow still invokes ./prep-all.sh at line 55—a comprehensive build that includes unnecessary packages/crates per the stated problem.

The implemented solution uses aggressive artifact cleanup (lines 59–60, 65–68) instead of selective builds. This approach is safer (no risk of missing build steps) but contradicts the stated objective of eliminating unnecessary prep-all invocations.

Confirm whether this trade-off (comprehensive build + cleanup vs selective build) is intentional and acceptable for this PR, or if prep-all.sh should be replaced with explicit, selective nix develop commands for only contract artifacts and the orderbook package.


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

@rouzwelt rouzwelt changed the title fix macos tauri build fix CI issues Oct 30, 2025
@rouzwelt rouzwelt self-assigned this Oct 30, 2025
@rouzwelt
rouzwelt requested a review from hardyjosh October 30, 2025 21:16
@rouzwelt
rouzwelt marked this pull request as ready for review October 30, 2025 21:16

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 63bdea2 and 90bc24c.

📒 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.yaml
  • 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: 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.yaml
  • 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: 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.yaml
  • 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: Tauri: nix develop .#tauri-shell --command cargo tauri dev

Applied to files:

  • .github/workflows/tauri-release.yml
  • .github/workflows/tauri.yaml
  • 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: 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.yaml
  • flake.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.yml
  • flake.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.yaml
  • flake.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: to branches-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: recursive ensures 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.sh with targeted nix develop commands 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-ci and svelte-lint-format-check steps ensures quality validation before release. The WALLETCONNECT_PROJECT_ID fallback 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-test task now ensures dylibs are properly prepared via ob-tauri-before-build before 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-dylibs to 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-dylibs into the build flow ensures dynamic libraries are properly prepared before bundling.


190-227: LGTM! Comprehensive dylib handler implementation.

The new ob-tauri-dylibs task 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.out to old-pkgs.bzip2.out (line 240) maintains consistency with the dylib preparation in ob-tauri-dylibs and addresses the libbz2 dylib handling issue.


320-338: LGTM! ob-tauri-dylibs added to development shell.

Adding packages.ob-tauri-dylibs to the tauri-shell packages ensures the dylib handler is available for developers in the Tauri development environment.

Comment thread .github/workflows/npm-package-release.yml

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 90bc24c and 952b3f6.

📒 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/debug and ./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_ID aligns with the PR objective to simplify the npm release flow. Existing RPC and deployment environment variables remain in place for contract interactions.

Comment thread .github/workflows/npm-package-release.yml Outdated
branches:
branches-ignore:
- main
pull_request:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the reason we have this is because otherwise the workflows aren't able to run on PRs from downstream forks

@hardyjosh
hardyjosh enabled auto-merge November 3, 2025 09:17
@hardyjosh
hardyjosh merged commit e9d6f1a into main Nov 3, 2025
19 checks passed
@github-actions

github-actions Bot commented Nov 3, 2025

Copy link
Copy Markdown
Contributor

@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

@coderabbitai

coderabbitai Bot commented Nov 3, 2025

Copy link
Copy Markdown
Contributor

Tip

For best results, initiate chat on the files or code changes.

SIZE=L


🧠 Learnings used
Learnt from: rouzwelt
Repo: rainlanguage/rain.orderbook PR: 0
File: :0-0
Timestamp: 2025-05-21T21:24:42.275Z
Learning: For PR #1884, after each commit review, I should provide a new comment with a PR size report in the format: `TOTAL=number ADDITIONS=number DELETIONS=number`, excluding irrelevant files such as lock files (package-lock.json, cargo.lock, etc.).

Learnt from: rouzwelt
Repo: rainlanguage/rain.orderbook PR: 0
File: :0-0
Timestamp: 2025-05-21T21:24:42.275Z
Learning: After each commit in PR #1884, I should provide a new comment with the PR size report in the format: `TOTAL=number ADDITIONS=number DELETIONS=number`. The report should exclude irrelevant files such as lock files (e.g., package-lock.json, cargo.lock).

Learnt from: rouzwelt
Repo: rainlanguage/rain.orderbook PR: 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).

Learnt from: rouzwelt
Repo: rainlanguage/rain.orderbook PR: 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 exact format: "TOTAL=number\nADDITIONS=number\nDELETIONS=number". This report 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-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-21T22:46:08.530Z
Learning: For PR #1884 in rainlanguage/rain.orderbook, the PR size report should be the only content in the comment - no text before it, no text after it, no formatting blocks, just the raw report in the exact format: "TOTAL=number\nADDITIONS=number\nDELETIONS=number". The report must exclude 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-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: 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.

Learnt from: findolor
Repo: rainlanguage/rain.orderbook PR: 1971
File: .github/workflows/vercel-docs-prod.yaml:10-14
Timestamp: 2025-07-11T12:29:49.284Z
Learning: In GitHub Actions workflows for the rainlanguage/rain.orderbook project, findolor is comfortable with job names that may seem misleading (like "Deploy-Docs-Preview" in a production workflow) when there's only one job in the workflow, as the context makes it clear enough.

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: 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-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".

@coderabbitai coderabbitai Bot mentioned this pull request Nov 3, 2025
4 tasks
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.

3 participants