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

Official Windows arm64 binaries #2540

Closed
gengjiawen opened this issue Jan 27, 2021 · 99 comments
Closed

Official Windows arm64 binaries #2540

gengjiawen opened this issue Jan 27, 2021 · 99 comments

Comments

@gengjiawen
Copy link
Member

@nodejs/releasers It's tier2 build now. Maybe make it in the official release process ?

Originally posted by @gengjiawen in nodejs/node#36658 (comment)

@BethGriggs
Copy link
Member

cc @nodejs/build (should this be moved to nodejs/build repository)

@AshCripps
Copy link
Member

We dont have the machines to make it an official release - its currently built from one laptop on a desk that isnt always online/connected.

@richardlau
Copy link
Member

cc @nodejs/build (should this be moved to nodejs/build repository)

🤷. AFAIK we still don't have reliable (i.e not someone's laptop) hardware to test on. cc @joaocgreis

@BethGriggs BethGriggs changed the title @nodejs/releasers It's tier2 build now. Maybe make it in the official release process ? Official Windows arm64 binaries Feb 5, 2021
@BethGriggs BethGriggs transferred this issue from nodejs/Release Feb 5, 2021
@rvagg
Copy link
Member

rvagg commented Feb 6, 2021

it does say "Tier 2 (compiling) / Experimental (running)", it's got two different tiers for good reason

@gengjiawen
Copy link
Member Author

it does say "Tier 2 (compiling) / Experimental (running)", it's got two different tiers for good reason

Make it more available will get it more tested. Some of our user just want to use it. Building it from source will be a heavy task for most Node.js users. I think this will bring more value to the community in the long term.

@joaocgreis
Copy link
Member

Ref #2450 and nodejs/node#25998

There are some releases in https://unofficial-builds.nodejs.org/ . Since it's Windows and can't be built from the docker system that builds for other platforms, I have to manually trigger and publish the builds, so not all versions are available.

To be able to bring Windows ARM64 fully into tier 2, we'll need a better solution for testing. We're essentially waiting for Windows ARM64 machines to become available in Azure.

@pb5050
Copy link

pb5050 commented Feb 27, 2021

Ref #2450 and nodejs/node#25998

There are some releases in https://unofficial-builds.nodejs.org/ . Since it's Windows and can't be built from the docker system that builds for other platforms, I have to manually trigger and publish the builds, so not all versions are available.

To be able to bring Windows ARM64 fully into tier 2, we'll need a better solution for testing. We're essentially waiting for Windows ARM64 machines to become available in Azure.

@joaocgreis @gengjiawen you guys should reach out to Microsoft engineers ive seen where people have on occasion and the engineers actually chiming in randomly on git hub, and the outcome 80% was very favorable and seemed like it was a good idea they did.

from my understanding and what ive ran across they want users to reach out to them especially when it comes to the ARM64 they are all about making the system more appealing

@atishay
Copy link

atishay commented May 5, 2021

@joaocgreis Is it possible to get node 16 unofficial binaries on Windows ARM64. It seems Azure arm64 is still further away.

@jasnell
Copy link
Member

jasnell commented May 12, 2021

While we are waiting on Azure to provide Windows arm64 images, if the project/foundation is willing to provide the Windows Arm64 hardware, we (Nearform) would be willing to host them alongside the mac minis we currently host so that we can at least have them always available. /cc @mcollina

@mhdawson
Copy link
Member

@jasnell do you have cost estimates/configs for the hardware.

@joaocgreis I assume if these were added you'd an eye on them, reconnecting jenkins agents, compiler upgrades etc. like you do for other windows systems ?

@joaocgreis
Copy link
Member

@atishay working on the releases, they should be done shortly. Will post on #2450 when done.

@mhdawson yes I can keep them functional.

We cross-compile for ARM64 from our current workers, so for compilation we have good capacity. It's for running the tests that we need actual ARM64 hardware. For this to be added to node-test-commit unconditionally, running on every PR, we need: 1) enough machines to handle all the work, I'd say at least 4 workers; 2) reliability, to avoid blocking the CI job. Azure would be the perfect solution for this, but Nearform might also work.

@jasnell
Copy link
Member

jasnell commented May 19, 2021

Quick update on this... I am talking to a representative from Arm who may be providing us with a loaner Surface Pro X device to host at the nearform HQ alongside the mac minis we currently have. We're getting a follow up call set up for next week to discuss details. Once I settle on this I'll be looking to see if we can get at least one additional machine so we have two there to work with. I know we ultimately will need a few more than that.

@jasnell
Copy link
Member

jasnell commented May 19, 2021

@mhdawson ... to answer your question on cost estimate/configs ... a Surface Pro X is likely the best choice. There are other arm64 options out there but the pro x is pretty much rock solid.

image

@pb5050
Copy link

pb5050 commented May 19, 2021

they have a cheaper one but yes it is rock solid i love my SPX :D

@pb5050
Copy link

pb5050 commented May 19, 2021

btw is nodejs 15.8 the last unofficial build? you guys have out rn?

working flawlessly but i was jw if (un official builds of the newer ones are out )

@mhdawson
Copy link
Member

@jasnell from email sounds like you are lining up donations so we don't need to ask Foundation to buy machines at this point right ?

@jasnell
Copy link
Member

jasnell commented May 19, 2021

@mhdawson ... It looks like we can get at least one machine from donation (thanks to Arm) but I don't know if we'll be able to get more than that.

@mhdawson
Copy link
Member

@jasnell let me know when that is settled and then we can go from there. @nodejs/build any comments/concerns about asking the Foundation to fund 1 machine at $2000 US if that is necessary?

@jasnell
Copy link
Member

jasnell commented May 19, 2021

@jasnell let me know when that is settled and then we can go from there.

Will do for sure!

@jasnell
Copy link
Member

jasnell commented May 25, 2021

Status update... great conversation with the folks at Arm. What it looks like right now is that we (nearform) should be able to get a surface pro x device on loan from Arm for a period of about one year. Hopefully by then the developer kits and/or Azure support will be available. A single Pro X SQ1 isn't going to be super powerful -- we definitely won't want to build every PR on it -- but it should suffice for running tests. The Node.js test suite takes about 45 minutes to run on my personal Surface Pro X device. We have some legal paperwork to go through before we get the device so it may take at least a few weeks before we can get things set up. I will post updates here as we go.

Ideally we would have more than one device available. If the foundation can provide a second device, we are also willing to host that alongside the loaned one from Arm.

@mhdawson
Copy link
Member

@jasnell so just to confirm you'd like us to ask if the Foundation can fund a second machine ?

@jasnell
Copy link
Member

jasnell commented May 26, 2021

Yes, but we might want to wait. A new low cost arm64 developer kit was announced yesterday during msft build that is supposed to be available later this summer.

@mhdawson
Copy link
Member

@jasnell ok, just let me know if/when you want to make a request.

@pb5050
Copy link

pb5050 commented May 31, 2021

Just a question couldnt you install a WOA on a raspberry pie and use that for test?

@mbodomi
Copy link

mbodomi commented Jun 8, 2021

hmm.. I need a win-arm64 build of: https://nodejs.org/dist/latest-v16.x/ and im running windows on raspberry :)

@dennisameling
Copy link

dennisameling commented Jun 9, 2021

@mbodomi an unofficial build of 16.2.0 is available for Windows arm64: https://unofficial-builds.nodejs.org/download/release/v16.2.0/ - have been using it for a while and works perfectly

@james-emerton
Copy link

I'm not familiar with the requirements of build machines for this project, but might it be an option to run the builds inside a VM on an M1 Mac Mini? Macstadium has this hardware available now and I see you're already working with them.

nodejs-github-bot pushed a commit to nodejs/node that referenced this issue Mar 22, 2023
To be able to build x86, x64, and ARM64 MSI installers with the same WiX
version, migration to WiX4 is required.

PR-URL: #45943
Refs: nodejs/build#2540
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
StefanStojanovic added a commit to JaneaSystems/node that referenced this issue Mar 23, 2023
nodejs-github-bot pushed a commit to nodejs/node that referenced this issue Mar 30, 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

Since all of the PRs required for enabling official Windows ARM64 binaries have landed and CI is ready for them, I'm closing this issue as completed.

RafaelGSS pushed a commit to nodejs/node that referenced this issue Apr 5, 2023
To be able to build x86, x64, and ARM64 MSI installers with the same WiX
version, migration to WiX4 is required.

PR-URL: #45943
Refs: nodejs/build#2540
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
RafaelGSS pushed a commit to nodejs/node that referenced this issue 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 pushed a commit to nodejs/node that referenced this issue 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 to nodejs/node that referenced this issue Apr 7, 2023
To be able to build x86, x64, and ARM64 MSI installers with the same WiX
version, migration to WiX4 is required.

PR-URL: #45943
Refs: nodejs/build#2540
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
RafaelGSS pushed a commit to nodejs/node that referenced this issue 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]>
@tidy-dev
Copy link

tidy-dev commented May 1, 2023

👋 Hey all!

Since all of the PRs required for enabling official Windows ARM64 binaries have landed and CI is ready for them, I'm closing this issue as completed.

I am working with the GitHub Desktop team and looking to upgrade Electron again. The node version we need is 18.14.0. Is it possible to run a CI to generate it now?

🙇 Thank you for all the work on this.

@joaocgreis
Copy link
Member

@tidy-dev here it is: https://unofficial-builds.nodejs.org/download/release/v18.14.0/

The usual caveat applies, please test it and don't just assume it works. The official releases starting on v20 are fully tested, but this is just best-effort.

@theofficialgman
Copy link

theofficialgman commented Jul 8, 2023

@joaocgreis maybe I am missing something. Haven't official nodejs binaries for x64 windows supported arm64 cross compilation since v15 with nodejs/node@8833551 nodejs/node@66807e9 ?

Not sure why @tidy-dev is asking if that is the case.

@sergiou87
Copy link

@joaocgreis Hello! 👋 Another request from the GitHub Desktop team 🙏 Any chance we could get a win-arm64 build for node 18.16.1?

Thanks in advance! (And let us know if there is a better way to do this or a better place to request it 😅 )

@eukarpov
Copy link

@joaocgreis Hello! 👋 Another request from the GitHub Desktop team 🙏 Any chance we could get a win-arm64 build for node 18.16.1?

Thanks in advance! (And let us know if there is a better way to do this or a better place to request it 😅 )

@sergiou87
JFYI, you can build the latest Arm64 Node.js here
https://github.com/Windows-on-ARM-Experiments/emsdk/actions/workflows/build-deps.yml
we could try to extend our workflow to build particular Node.js version, please let me know.

@sergiou87
Copy link

Thank you @eukarpov ! ❤️ However, for now we prefer to stick to João's builds to keep changes to a minimum. It's probably more than ok to grab node from other sources like your workflow but we'd rather be a bit conservative here, since we're upgrading Electron and that's quite a big change already 😅

@joaocgreis
Copy link
Member

@sergiou87 sorry for the delay, here it is: https://unofficial-builds.nodejs.org/download/release/v18.16.1/

@sergiou87
Copy link

Don't worry @joaocgreis ! You're still the best 🙇‍♂️🙇‍♂️🙇‍♂️ Thank you again for your help

I see starting with node v19.9.0 there are official builds for win-arm64, I hope it doesn't take too long before Electron uses that version 😄

@sergiou87
Copy link

Hey @joaocgreis! 👋 Hopefully the last request from the GitHub Desktop team 🙏 Any chance we could get a win-arm64 build for node 18.18.2?

Thanks in advance!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests