Update nix flake + rust to 1.96.1 - #3810
Conversation
|
Claude finished @insipx's task —— View job PR Review CompleteReview Date: 2026-07-02 17:20 UTC SummaryThis PR successfully updates Rust from 1.95.0 to 1.96.1 and makes necessary build configuration fixes. The two previously raised issues have been properly addressed by the author. Verified Fixes✅ Code Quality AssessmentBuild Configuration Changes (nix/package/wasm.nix:92, nix/package/node.nix:60)
Dependency Updates
Additional Improvements
No Issues Found
The PR is well-executed with appropriate fixes for the raised concerns. |
ApprovabilityVerdict: Approved Toolchain version updates (Rust 1.95→1.96.1, playwright, napi-rs-cli) and nix flake refresh. All changes are build/development configuration with no runtime impact. Author owns all modified files. You can customize Macroscope's approvability policy. Learn more. |
Dismissing prior approval to re-evaluate dd3693f
62da8d4 to
09f2d47
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3810 +/- ##
==========================================
+ Coverage 84.49% 84.55% +0.06%
==========================================
Files 410 410
Lines 61001 60905 -96
==========================================
- Hits 51541 51497 -44
+ Misses 9460 9408 -52 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
2daebc5 to
79a4cb3
Compare
Fix nixpkgs-update fallout: - pass --target explicitly to cargo zigbuild (cargo-zigbuild 0.23 / cargo-options 0.8 dropped the CARGO_BUILD_TARGET env fallback, so the glibc-suffixed target leaked raw to rustc) - bump vendored napi-rs-cli 3.5.1 -> 3.7.2 and regenerate yarn berry offline-cache hashes (nixpkgs yarn-berry 4.14 rejects v8 lockfiles; 3.7.x ships a v10 lockfile) - add git to the android dev shell: in-shell nix eval (fetchGit for git cargo deps) spawned system git, which loaded nix-store openssl/zlib from LD_LIBRARY_PATH and died on the glibc 2.42 ABI mismatch on CI runners - wasm-pack 0.15 appends its own --message-format=json, so drop ours from the extra cargo args and stop capturing a cargo build log; skip the crane build-log install hooks since wasm-pack installs straight to $out/dist - bump the npm playwright pin 1.58 -> 1.60 to match nixpkgs playwright-driver.browsers (the pins must match exactly for PLAYWRIGHT_BROWSERS_PATH to resolve) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
## Summary The 2026-07-03 nightly failed in `release-node-sdk / bindings / build-macos (darwin-arm64)`: ``` atf-aarch64-apple-darwin> configure: error: cannot run test program while cross compiling error: Cannot build '...libiconv-aarch64-apple-darwin-113.drv' — 1 dependency failed error: Cannot build '...bindings-node-js-napi-aarch64-apple-darwin-1.11.0-dev.drv' ``` No node-sdk/node-bindings npm nightly has published since `20260630.ac662b3` — and because the nightly watermark is the latest tag of *any* SDK, the successful iOS leg's `20260703` tag makes every subsequent scheduled run log "No new commits since last nightly; skipping", so the node leg never retried. ## Why the upstream fix doesn't cover this #3810 removed this overlay expecting NixOS/nixpkgs#510292 (merged, present in the pinned nixos-unstable rev `b5aa0fbd`) to cover it. The upstream seeds are gated on `!stdenv.buildPlatform.canExecute stdenv.hostPlatform` — but this build's cross is **aarch64-darwin → aarch64-apple-darwin**: same arch, same kernel, so `canExecute` is true and the seeds never apply, while autoconf still decides `cross_compiling=yes` from the configured-triple mismatch and aborts the `AC_RUN_IFELSE` probes. This restores the original overlay verbatim (structurally gated on `buildPlatform != hostPlatform`) with the comment updated to record the upstream state and the retirement condition: the upstream gate switching to structural inequality (nixpkgs follow-up incoming). Double-applying the seeds when both gates fire is harmless — same cache values. Verification: `nix-instantiate --parse` clean; the real proof is the next scheduled nightly (new commit un-skips the watermark) or a manual `Release` dispatch with `node-sdk: true`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- Macroscope's pull request summary starts here --> <!-- Macroscope will only edit the content between these invisible markers, and the markers themselves will not be visible in the GitHub rendered markdown. --> <!-- If you delete either of the start / end markers from your PR's description, Macroscope will append its summary at the bottom of the description. --> > [!NOTE] > ### Restore atf cross-compilation overlay in nix patches > Restores an overlay in [patches.nix](https://github.com/xmtp/libxmtp/pull/3822/files#diff-a0c603b759efcc01ff44a1cc1d0f7aeb5b28903640bb2354bb0c6b41059a3609) that was dropped in #3810. When `buildPlatform != hostPlatform`, the `atf` derivation is overridden to pre-seed three autoconf cache variables (`kyua_cv_getopt_plus`, `kyua_cv_attribute_noreturn`, `kyua_cv_getcwd_works`) so `AC_RUN_IFELSE` tests are skipped and configuration succeeds during cross-compilation. > > <!-- Macroscope's review summary starts here --> > > <sup><a href="https://app.macroscope.com">Macroscope</a> summarized f4005df.</sup> > <!-- Macroscope's review summary ends here --> > <!-- macroscope-ui-refresh --> <!-- Macroscope's pull request summary ends here --> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Note
Update Rust toolchain to 1.96.1 and fix nix wasm and cargo zigbuild builds
--targetflag tocargo zigbuildfor glibc-suffixed targets.wasm-packinstall artifacts into$out/distdirectly, removing cargo binary post-install and JSON log capture.@napi-rs/clifrom 3.5.1 to 3.7.2 and Playwright from 1.58 to 1.60 across JS packages..envrcto load the#rustflake output and addsjustto the Rust dev shell.Macroscope summarized 551ccfe.
updating the .envrc to use the #rust shell since the android bindings build w/o android sdk in nix shell & nix ios shell is broken until #3759 . further should make loading dev shell faster