Enable Windows ARM64 builds in CI#340
Conversation
|
@cjpais, I tested the I had to disable signing binaries, but the build succeeds. I installed the resulting The Parakeet V3 model works great! The Whisper Small model is very slow but still works. Could probably get better performance by using NPU acceleration on the Snapdragon chip. But that is for another time! |
|
Wow thank you for this! I'm just going to go ahead and merge for now and will follow up if a build from CI for testing! |
|
@oddrationale if you have both a x86 and arm machine would you mind testing the builds here? I'm not sure these are accessible to everyone so I will upload copies to the handy blob storage as well https://github.com/cjpais/Handy/actions/runs/19403353954 Should be available here directly: ARM .msi: https://blob.handy.computer/win-arm-ci/Handy_0.6.0_arm64_en-US.msi I was able to use the arm exe on emulated windows 11 on my Mac, it worked flawlessly for parakeet. Whisper immediately crashed, though I'm sure Vulkan emulated is not the best. Curious what your results are on the actual hardware |
|
@cjpais, I only had the chance to test the ARM version. Parakeet V3 ran smoothly and was quite responsive. I did encounter a crash when switching to Whisper Small, but after restarting Handy and trying again, it loaded without issues. However, the performance of Whisper Small is very slow, taking 30 seconds to a minute to process even a very short transcription. |
|
Sweet well thank you for all the work on this, I'm just happy we have a build! |
|
Bun is now available for Windows ARM, the GitHub step has also been recently updated: Maybe time for another PR that grabs the native bun binary? |
|
I'm working on it! Waiting on one more missing piece before raising a PR: the oven-sh/setup-bun GitHub Action also needs to be updated because it was not aware of the new Technically, we could point the GitHub Action to the |
Summary
This PR adds native Windows ARM64 (aarch64) support by introducing a new build matrix entry and handling platform-specific tooling limitations in the GitHub Actions workflow.
Changes
Build Matrix
windows-11-armrunner configuration to bothbuild-test.ymlandrelease.ymlworkflowsaarch64-pc-windows-msvcfor native ARM64 Windows buildsBun Setup (Windows ARM64)
--cpu=arm64flag on Windows ARM64 to ensure correct native module selectionVulkan SDK (Windows ARM64)
humbletim/install-vulkan-sdk@v1.2action doesn't support Windows ARM64 targets yet (tracked in humbletim/install-vulkan-sdk#22)VULKAN_SDKenvironment variablehumbletim/setup-vulkan-sdk@v1.2.1Rust Target
x86_64-pc-windows-msvc(default target, doesn't need explicit installation)aarch64-pc-windows-msvc) installed explicitly viarustup target addArtifact Paths
target/release/bundle/, but ARM64 cross-compilation nests them intarget/aarch64-pc-windows-msvc/release/bundle/