Pin Rust for ARM64 musl npm builds - #120
Conversation
Rust 1.98 adds an AArch64 linker flag rejected by napi-rs 2's Zig linker path. Keep stable for all other targets and use Rust 1.97.1 only for aarch64-unknown-linux-musl.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 2 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe npm publish workflow now uses Rust toolchain Changesnpm publish toolchain
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to The publish workflow pins Rust 1.97.1 only for the ARM64 musl build and leaves other release targets on stable Rust. No merge-blocking risk is identified. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.) ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🟢 Approval recommended
The change is narrowly scoped to CI configuration, uses a valid GitHub Actions expression for conditional toolchain selection, and aligns with the stated publication failure root cause.
Pull request overview
Pins the Rust toolchain used during the GitHub Actions npm publish build for the ARM64 musl target to avoid a Zig linker incompatibility introduced by Rust 1.98, while keeping all other release targets on stable Rust.
Changes:
- Add a conditional Rust toolchain selection in the npm publish workflow.
- Use Rust 1.97.1 only for
aarch64-unknown-linux-musl; keep stable for all other matrix targets.
File summaries
| File | Description |
|---|---|
| .github/workflows/npm-publish.yml | Conditionally pins Rust to 1.97.1 for the ARM64 musl matrix build to prevent Zig rejecting new rustc args. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Rust 1.98 adds
--fix-cortex-a53-843419to theaarch64-unknown-linux-musltarget. napi-rs 2 invokescargo buildwith a Zig linker, bypassing cargo-zigbuild 0.23's filter, so Zig rejects the new argument.Pin only the affected target to Rust 1.97.1 while retaining stable Rust for the other seven release targets.
The failed publication stopped before any
npm publishcommand ran.Summary by CodeRabbit