-
Notifications
You must be signed in to change notification settings - Fork 166
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
Re-add Windows arm64 (un)official builds #2450
Comments
Best person to ask would be @joaocgreis as I believe the machines used to build it are hosted on his desk. |
v14.13.0 published: https://unofficial-builds.nodejs.org/download/release/v14.13.0/ It was not possible to run the tests for this release because the machines we have are currently offline, I'll check on them and run the tests when possible. @dennisameling if you can try the release and confirm it works, that would be appreciated. Note the release process for this is manual - the unofficial releases server uses docker for the Unix platforms but for Windows it must run in the CI test machines. I will try to publish releases frequently but can't commit to publish every version. To move this further forward, we need ARM64 machines to become available in Azure. |
Thanks @joaocgreis! Can confirm the release works. Have been trying some things and all looks good so far. I was also able to build an MSI installer from the v14.13.0 tag, here's the link in case someone's interested: https://github.com/dennisameling/node/releases/tag/v14.13.0-arm64 (I'm using this on my Surface Pro X now 🎉) Have you considered running a self-hosted Azure Pipelines agent, like the Electron team is doing? You can run the 32-bit Azure Pipelines agent on an ARM64 device like the Surface Pro X. Hopefully that's a feasible workaround for the time being; I'll try to get in touch with Azure support to ask when ARM64 machines will become available. Guess it's only a matter of time, hopefully sooner than later 🚀 UPDATE: Got a response from Azure Support on Twitter. They don't have info regarding potential availability of ARM64 runners at the moment: https://twitter.com/AzureSupport/status/1313067495444688896. Have created a support case with the Azure DevOps team just to cross-check with them as well. UPDATE 2: Got a response from Azure Support in my ticket:
I created a feature request back in May, please upvote if you'd like to see hosted Windows ARM64 agents in Azure: https://developercommunity.visualstudio.com/idea/1015752/please-add-a-windows-arm64-hosted-agent.html For the time being, a self-hosted Azure Pipelines Agent on e.g. a Surface Pro X could be an option maybe, as mentioned above. |
Published v14.13.1. CI: https://ci.nodejs.org/view/All/job/node-test-commit-windows-fanned/38639/
@dennisameling we are using essentially the same thing as a self-hosted agent, but connected to our Jenkins system. This is not a reliable setup though, the machine was offline and I could only bring it back now. That's one of the reasons why we need the cloud hosted machines, the other is simply we need more machines. |
Published v15.5.1. |
Published v14.15.4 and v15.8.0. @EwoutH didn't publish v12 because it doesn't have ARM64 support. |
Published v14.17.5 and v16.6.2. |
Hey - Github actions runner updated to node.js 12.22.7 and 16.13.0. I've been running and rebasing Windows ARM64 support from actions/runner#785, but this failed when trying to build the latest release due to there not being any Windows ARM64 builds of those versions of node.js. Could someone spare some cycles to get those versions? The GHA runner insists on trying to update itself when it thinks its out of date, and exits when it sees there's no official Windows ARM64 build it can update to, so it becomes pretty useless when out of date. |
@jeremyd2019 have you tried using the x64 GH Actions runner for now on Windows 11 ARM64? I'm using that for a self-hosted runner in combination with Node 16.13.0 ARM64 (added to PATH): https://github.com/dennisameling/node/releases/tag/v16.13.0-arm64. Figured this is the easiest way to have a stable runner until official Node ARM64 builds are available 😊 |
No, I haven't. But I guess I shot myself in the foot there, because of actions/runner#1372, and I now use |
Thanks for the pointer to an arm64 build of 16.13.0! I at least managed to get a build to complete using that and 12.15.0 (which seems to be the last 12.x build with a win-arm64 unofficial build). jeremyd2019/runner@9c0640c Will have to see if it blows up on me or not. |
It looks like upstream runner reverted to 12.13.1, so I only have to use 16.13.0 from @dennisameling's fork, at least for the moment. |
Published v16.13.2 and v17.4.0 |
Published v16.14.0 and v17.5.0 |
github actions/runner just updated to 12.22.7 again (calling it "the latest" node12) 😦 Any chance of getting a newer node12 win-arm64 build? |
I made an attempt to build 12.22.7 on win-arm64. It failed, apparently lacking an implementation of |
Published v18.11.0 and v16.18.0:
These versions were not tested in CI. I launched the Jenkins jobs but they are not starting the ARM executors, this will have to be investigated. @jeremyd2019 IIRC, support broke at some point during the life cycle of v12 because of a difficult bug, and it was only fixed much later on v14. It may be possible to fix v12, but would not be easy. |
Thanks. Since my last update, github has deprecated node12 in actions/runner, and has finally published a "pre-release" official win-arm64 runner (with no node12 runtime, which seems to match what they did for osx-arm64). So it looks like I no longer need to care about this directly, somebody at github is worrying about it for me! |
@joaocgreis wow this work amazing for me on my SP9 SQ3! Any idea why nodejs.org doesnt publish these? |
Published the latest versions:
@Macmee we're working towards having ARM64 Windows as an officially supported platform, and then every Node.js version will have ARM64 Windows binaries published along with the rest. For now, we don't yet have proper CI support, so the binaries I published weren't properly tested and are much more likely to have issues. |
ARM64 Windows is officially supported now! |
While trying to add Windows arm64 support to GitHub Desktop, I came across some issues with the NodeJS Windows arm64 binaries. The Electron part of the app works fine, as they've been supporting Windows arm64 for a while (e.g. http://electronjs.org/headers/v9.3.1/win-arm64/node.lib).
The last NodeJS release that had unofficial arm64 builds was 12.15.0: https://unofficial-builds.nodejs.org/download/release/v12.15.0/win-arm64/, all versions after that don't have a
win-arm64
folder anymore.Even in the latest 14.13.0: no trace of Windows arm64. (https://unofficial-builds.nodejs.org/download/release/v14.13.0/ and https://nodejs.org/download/release/v14.13.0/). Cross-compilation support for Windows arm64 was restored in nodejs/node#32867, but since then no new builds have been released.
Are there any blockers to start releasing Windows arm64 builds for NodeJS? AFAIK we should be good to go:
According to nodejs/node#25998 (comment):
Please let me know if I can be of any help. Very eager to help open source projects get arm64 support to the Windows platform soon 😊
The text was updated successfully, but these errors were encountered: