-
Notifications
You must be signed in to change notification settings - Fork 244
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fetch Native Windows on ARM Node builds for Node 20+ #1567
Conversation
I think the release builds are also generated from this repo, so I think you'd need to tweak https://github.com/volta-cli/volta/blob/main/.github/workflows/release.yml to add a Windows + ARM section (in order to generate the required artifacts for a release). |
I believe running Volta x64 with an emulator and using native ARM for NodeJS might work well, as Volta doesn't require heavy CPU usage. Should we go ahead and release this first, then work on building a native ARM version of Volta for Windows later? |
I resolved the conflict with the main branch, by rebasing. In commit 1f4585a, all platforms and architectures were tested with version v16.x, the cutoff for Apple Silicon. I updated this to v20.x, the cutoff for Windows on ARM. Is it advisable to segregate x64, Apple Silicon, and Windows on ARM for these specific version cutoffs? @rwjblue @charlespierce |
As ARM64 support for Linux is now available, could the |
I'm still unsure about |
The way I read your changes they are adding Windows to I don't fully understand how Volta fits together, but I see that there are ARM64 builds (shown as ARMv8) listed on the NodeJS download page, which I assume means that there are native ARM64 builds for Linux. I assume part of your changes is to obtain ARM64 builds for Windows, in addition to what is already being done for macOS and so might also be relevant for Linux. |
I suggest we keep the OS check since each OS has Node.js native ARM support in different versions with different file format. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Thanks for making these updates!
For some reason I'm not seeing the CI checks (nor any way for me to approve them to run). I'm going to close and re-open to see if that gets GitHub working 🤷🏻 |
The CI failures I think are related to GitHub actions transitioning |
Thanks a lot. Can you ping me again when I need to do the rebase? |
@iNViTiON The CI should be working again, so if you get a moment can you rebase the changes? Thanks again! |
I use |
No need to actually rebase, merging the changes in should be sufficient! |
Relate #1270
Info
Changes
tool/node/mod.rs
to include the constant values for Windows on ARM architecturefiles
metadata in the Node index will check for both the native and x64 versions of Node.archive_filename
on Windows on ARM builds to check the Node major version and fetch either a native or x64 build of Node depending on whether it is greater than or equal to 20.test_node_archive_basename
andtest_node_archive_filename
from version1.2.3
to21.2.3
to allow Windows on ARM and Apple Silicon to fetch correct version without constraintTested
cargo test --all
and everything pass. Also confirm this properly fetches and run Node 20+ and 19-.