Skip to content

add aarch64-unknown-linux-gnu (linux-arm64) JS binding target#154

Open
Bl3f wants to merge 1 commit intopydantic:mainfrom
Bl3f:add-linux-arm64-target
Open

add aarch64-unknown-linux-gnu (linux-arm64) JS binding target#154
Bl3f wants to merge 1 commit intopydantic:mainfrom
Bl3f:add-linux-arm64-target

Conversation

@Bl3f
Copy link
Contributor

@Bl3f Bl3f commented Feb 12, 2026

Summary

  • Add aarch64-unknown-linux-gnu to the napi targets in package.json so the @pydantic/monty-linux-arm64-gnu optional dependency is generated
  • Add a CI build job using GitHub's native ubuntu-24.04-arm ARM runner
  • Add the target to the Linux JS binding test matrix (existing runs-on expression and docker params already handle aarch64 correctly)

Motivation

Docker on Apple Silicon (and any linux/arm64 environment) fails to load @pydantic/monty because the native binding for aarch64-unknown-linux-gnu is never built or published (related to #153):

Error: Cannot find native binding.
[cause]: Error: Cannot find module '@pydantic/monty-linux-arm64-gnu'

Reproduction:

FROM node:24-slim
WORKDIR /app
RUN npm install @pydantic/monty@0.0.4
RUN node -e "require('@pydantic/monty')"

Docker on Apple Silicon runs linux/arm64, but the native binding
`@pydantic/monty-linux-arm64-gnu` was never built or published.

- Add `aarch64-unknown-linux-gnu` to napi targets in package.json
- Add CI build job using `ubuntu-24.04-arm` native ARM runner
- Add target to the Linux JS binding test matrix

Co-authored-by: Cursor <cursoragent@cursor.com>
@codspeed-hq
Copy link

codspeed-hq bot commented Feb 12, 2026

Merging this PR will not alter performance

✅ 13 untouched benchmarks


Comparing Bl3f:add-linux-arm64-target (4589735) with main (135dcb0)

Open in CodSpeed

@codecov
Copy link

codecov bot commented Feb 12, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

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.

1 participant