Skip to content
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

Upgrading Windows on ARM64 to a tier 2 platform #47233

Merged
merged 1 commit into from
Mar 30, 2023

Conversation

StefanStojanovic
Copy link
Contributor

@StefanStojanovic StefanStojanovic commented Mar 23, 2023

Official support for ARM64 Windows is something many people have been looking forward to for years. We recently added test machines to Jenkins, and tests are being run for every PR. We would like to move forward and move ARM64 Windows to tier 2.

@nodejs/build if this PR is approved, @joaocgreis and I will add arm64 to the release Jenkins to start producing releases.

This should land on v19. Node v18 and prior versions have failing tests.

cc @nodejs/tsc @nodejs/platform-windows @nodejs/platform-windows-arm

Refs: nodejs/build#3046
Refs: nodejs/build#2540
Fixes: #25998

@nodejs-github-bot nodejs-github-bot added build Issues and PRs related to build files or the CI. doc Issues and PRs related to the documentations. labels Mar 23, 2023
@pbo-linaro
Copy link
Contributor

+1, this would be great to see windows-arm64 supported in NodeJS!

Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

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

I'm +1. All things considered I would recommend we target v20.0.0.

@mcollina
Copy link
Member

tagging @nodejs/releasers for visibility

@niyas-sait
Copy link
Contributor

Great! Looking forward to the release

@richardlau richardlau added dont-land-on-v14.x dont-land-on-v18.x PRs that should not land on the v18.x-staging branch and should not be released in v18.x. labels Mar 23, 2023
@sxa
Copy link
Member

sxa commented Mar 23, 2023

@StefanStojanovic Can you summarise what is now in place to support this in terms of infrastructure? I haven't seen any of the details other than hearing that you've added some extra machines (From Azure?) into the CI.
Has there been any additional capacity to the release CI to support this? (It may not be necessary...)

@StefanStojanovic
Copy link
Contributor Author

@StefanStojanovic Can you summarise what is now in place to support this in terms of infrastructure? I haven't seen any of the details other than hearing that you've added some extra machines (From Azure?) into the CI.

Certainly, here is the list of things we've done so far regarding the infrastructure:

  • Added 6 Azure Windows 11 ARM64 machines to the CI and connected them to the Tests portion of the node-test-commit-windows-fanned job.
  • Enabled ARM64 tests by default for Node v19+ starting with https://ci.nodejs.org/job/node-test-commit-windows-fanned/54061/. Currently actively monitoring CI for potential issues.
  • Enabled making ARM64 MSI as part of build for Node v19+ (starting with this commit), same as for x86 and x64.

Has there been any additional capacity to the release CI to support this? (It may not be necessary...)

ARM64 binaries are still cross-compiled from Windows x64, the same as before, so there are no additional machines for building neither in test nor in release CI.

@joaocgreis
Copy link
Member

@mcollina we would certainly like to have this ready before Node v20! Do you mean that as well or do you see any reason why this shouldn't happen in v19?

@mcollina
Copy link
Member

No specific reason! Go ahead for v19.

@mhdawson
Copy link
Member

@nodejs/releasers FYI

@StefanStojanovic
Copy link
Contributor Author

Is there something else I can do to help this move forward?

@StefanStojanovic
Copy link
Contributor Author

@mcollina @richardlau @lpinca since I can neither start the CI (not sure it's needed for this change) nor land a PR, could someone of you move this forward?

@richardlau
Copy link
Member

@mcollina @richardlau @lpinca since I can neither start the CI (not sure it's needed for this change) nor land a PR, could someone of you move this forward?

It isn't as it is a doc only change.

@lpinca lpinca added the commit-queue Add this label to land a pull request using GitHub Actions. label Mar 30, 2023
@richardlau richardlau added the commit-queue Add this label to land a pull request using GitHub Actions. label Mar 30, 2023
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Mar 30, 2023
@nodejs-github-bot nodejs-github-bot merged commit dad0b07 into nodejs:main Mar 30, 2023
@nodejs-github-bot
Copy link
Collaborator

Landed in dad0b07

@StefanStojanovic
Copy link
Contributor Author

Thank you everyone for helping push this across the finish line!

@pbo-linaro
Copy link
Contributor

Awesome!

RafaelGSS pushed a commit that referenced this pull request Apr 5, 2023
Refs: nodejs/build#3046
Refs: nodejs/build#2540
Fixes: #25998
PR-URL: #47233
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
@RafaelGSS RafaelGSS mentioned this pull request Apr 6, 2023
RafaelGSS pushed a commit that referenced this pull request Apr 6, 2023
Refs: nodejs/build#3046
Refs: nodejs/build#2540
Fixes: #25998
PR-URL: #47233
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
RafaelGSS pushed a commit that referenced this pull request Apr 7, 2023
Refs: nodejs/build#3046
Refs: nodejs/build#2540
Fixes: #25998
PR-URL: #47233
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
@StefanStojanovic
Copy link
Contributor Author

@RafaelGSS I cannot add a notable-change label to this PR, Can you add it, please?

This is my suggestion for the notable-change text:

Official support for ARM64 Windows

Node.js now includes binaries for ARM64 Windows, allowing for native execution on the platform. The MSI, zip/7z packages, and executable are available from the Node.js download site along with all other platforms. The CI system was updated and all changes are now fully tested on ARM64 Windows, to prevent regressions and ensure compatibility.

ARM64 Windows was upgraded to tier 2 support by Stefan Stojanovic on #47233.

@RafaelGSS RafaelGSS added the notable-change PRs with changes that should be highlighted in changelogs. label Apr 14, 2023
@github-actions
Copy link
Contributor

The notable-change PRs with changes that should be highlighted in changelogs. label has been added by @RafaelGSS.

Please suggest a text for the release notes if you'd like to include a more detailed summary, then proceed to update the PR description with the text or a link to the notable change suggested text comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. doc Issues and PRs related to the documentations. dont-land-on-v18.x PRs that should not land on the v18.x-staging branch and should not be released in v18.x. notable-change PRs with changes that should be highlighted in changelogs.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support ARM64 Windows desktop