Skip to content

fix: try using arm64 image#2439

Merged
HerringtonDarkholme merged 1 commit into
mainfrom
fix-napi
Jan 10, 2026
Merged

fix: try using arm64 image#2439
HerringtonDarkholme merged 1 commit into
mainfrom
fix-napi

Conversation

@HerringtonDarkholme

@HerringtonDarkholme HerringtonDarkholme commented Jan 10, 2026

Copy link
Copy Markdown
Member

fix #2429

Summary by CodeRabbit

  • Chores
    • Updated build infrastructure for ARM platform support to improve build stability and reliability.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai

coderabbitai Bot commented Jan 10, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

The PR updates the GitHub Actions workflow to address ARM NAPI build issues by switching the Ubuntu runner to ubuntu-24.04-arm and removing the --use-napi-cross flag from the aarch64-unknown-linux-gnu build target, simplifying the build command.

Changes

Cohort / File(s) Summary
CI/CD Workflow Configuration
​.github/workflows/napi.yml
Updated ARM build runner from ubuntu-latest to ubuntu-24.04-arm and removed --use-napi-cross flag from aarch64 build target

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Poem

🐰 A runner swap, a flag removed so clean,
The ARM builds now flow like a dream,
No more undefined symbols to fear,
Ubuntu 24 brings the year!
The NAPI cross is left behind,
Native builds with peace of mind! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'fix: try using arm64 image' directly relates to the core change: replacing the Ubuntu runner with ubuntu-24.04-arm for ARM NAPI builds.
Linked Issues check ✅ Passed The changes address the root cause of issue #2429 by switching to an ARM-native build environment, which should resolve the undefined symbol error for le16toh in the native module.
Out of Scope Changes check ✅ Passed All changes are directly scoped to the NAPI workflow file and focused on the ARM build configuration, with no extraneous modifications outside the linked issue's requirements.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@codecov

codecov Bot commented Jan 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 87.49%. Comparing base (622da37) to head (e092447).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2439   +/-   ##
=======================================
  Coverage   87.49%   87.49%           
=======================================
  Files         108      108           
  Lines       17407    17407           
=======================================
  Hits        15230    15230           
  Misses       2177     2177           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@HerringtonDarkholme HerringtonDarkholme added this pull request to the merge queue Jan 10, 2026
Merged via the queue into main with commit eef144b Jan 10, 2026
15 of 16 checks passed
@HerringtonDarkholme HerringtonDarkholme deleted the fix-napi branch January 10, 2026 05:09

@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: 0

🧹 Nitpick comments (1)
.github/workflows/napi.yml (1)

46-48: Consider adding tests for the ARM64 build.

The switch to ubuntu-24.04-arm successfully uses a standard GitHub-hosted ARM64 runner, which is appropriate for native ARM64 builds. However, a testing gap remains:

Unlike the x86_64-unknown-linux-gnu target, this ARM64 GNU build lacks test: true. Adding tests would help catch regressions given that native ARM64 builds may expose platform-specific issues:

- host: ubuntu-24.04-arm
  target: aarch64-unknown-linux-gnu
  build: yarn build --target aarch64-unknown-linux-gnu
  test: true

Additionally, document why the x86_64-unknown-linux-gnu target uses cross-compilation (--use-napi-cross) while the ARM64 target builds natively, to clarify the architectural rationale for future maintainers.

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 622da37 and e092447.

📒 Files selected for processing (1)
  • .github/workflows/napi.yml
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-09-03T04:16:39.630Z
Learnt from: CR
Repo: ast-grep/ast-grep PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-09-03T04:16:39.630Z
Learning: Applies to crates/napi/** : If touching NAPI (Node.js) bindings, run `yarn test` in crates/napi

Applied to files:

  • .github/workflows/napi.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: coverage

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.

[bug] ast-grep-napi.linux-arm64-gnu.node: undefined symbol: le16toh inside Debian devcontainer on macOS

1 participant