Skip to content

Add musl variants - #17

Merged
Christof Marti (chrmarti) merged 2 commits into
mainfrom
chrmarti/novel-swordfish
Jul 16, 2026
Merged

Add musl variants#17
Christof Marti (chrmarti) merged 2 commits into
mainfrom
chrmarti/novel-swordfish

Conversation

@chrmarti

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI review requested due to automatic review settings July 16, 2026 18:21

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Adds Linux musl build/publish variants for the Node-API addon and updates runtime package selection so the facade can load either glibc or musl native packages on Linux.

Changes:

  • Add musl native packages for Linux x64/arm64 and wire them into optionalDependencies and CI/publish pipelines.
  • Introduce platform.js and update index.js (and smoke tests) to select packages by platform/arch/libc.
  • Extend build tooling (cross containers + pipeline steps) and add a small unit test for platform selection.
Show a summary per file
File Description
README.md Documents availability/build strategy for musl variants and updated package counts.
platform.js Adds platform/arch/libc package key selection helper.
package.json Publishes platform.js, adds platform-selection test script, and adds musl optional deps.
npm/test/smoke.js Uses new platform selection helper and maps glibc→gnu naming for local addon loading.
npm/test/platform-selection.js Adds assertions for libc-aware package key selection.
npm/scripts/build-native.js Adds musl targets, supports cross, and sets per-target RUSTFLAGS for musl builds.
npm/platforms/linux-x64-musl/package.json New musl x64 native package metadata.
npm/platforms/linux-arm64-musl/package.json New musl arm64 native package metadata.
index.js Switches facade selection from ${platform}-${arch} to libc-aware key via platform.js.
deny.toml Adds musl Rust targets to license deny configuration.
Cross.toml Pins musl cross images and passes through musl RUSTFLAGS env vars.
azure-pipelines/steps/build-linux-musl-addon.yml New Azure step to build musl addons via cross.
azure-pipelines/publish.yml Adds publish entries for linux x64/arm64 musl packages.
about.toml Adds musl Rust targets to license/about generation configuration.
.github/workflows/ci.yml Adds CI matrix entries for musl builds/benches and runs platform-selection test.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 15/15 changed files
  • Comments generated: 2
  • Review effort level: Low

Comment thread npm/scripts/build-native.js
Comment thread platform.js Outdated
@chrmarti
Christof Marti (chrmarti) merged commit 2fd3b5a into main Jul 16, 2026
30 checks passed
@chrmarti
Christof Marti (chrmarti) deleted the chrmarti/novel-swordfish branch July 16, 2026 19:32
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.

4 participants