Add support for building llvmlite wheels on Windows ARM64#1387
Add support for building llvmlite wheels on Windows ARM64#1387MugundanMCW wants to merge 5 commits intonumba:mainfrom
Conversation
|
Thanks for the PR! Have you been able to get it to successfully run the workflow in a repo / fork of your own? |
|
@MugundanMCW thank you for submitting this. Thank you for demonstrating that windows-on-arm builds will be possible for Unfortunately however this is incompatible with our current support tier policy listed here: https://numba.readthedocs.io/en/stable/reference/support_tiers.html?highlight=tier I had mentioned previously that the approach using |
|
Although we can't yet support Windows ARM as a tier 1 platform, I think we can discuss how to merge this patch as a Tier 2b platform (where we currently put Windows ARM) so that we can upgrade the status of windows ARM when the other external requirements line up. |
Yes, let's discuss next week during the maintainer meeting. |
|
@MugundanMCW in the meantime, could you fix the flake8 issue detected please. |
Hi @esc |
|
@MugundanMCW I did start the llvmlite wheel builds today, but it seems like they are failing. Can you take a look. |
I took another look at the calendar. The next Numba Dev meeting is actually on the 20th of Jan. I will add this to the agenda and hopefully it will be discussed then. |
Sure @esc, will take a look on the failing jobs. |
|
Hi @esc, The llvmlite win-arm64 builds are currently failing due to unavailability of conda llvmdev package for win-arm64. Without a fallback llvmdev package, the workflow ends up picking up the LLVM installation present in the GitHub runner environment, which leads to build failures. As a result, building llvmlite wheels for win-arm64 requires explicitly specifying a llvmdev workflow ID. |
|
so it looks like the https://github.com/numba/llvmlite/actions/runs/20987446447/job/60332743138?pr=1387 |
Yes @esc, now we can go ahead and trigger the wheel builder for win-arm64 using this runner ID. |
Yeah, I tried that, but I am getting an error here: |
Is that because the workflow isn't merged to |
Yes, that’s the reason. Since the workflow file isn’t merged into main yet, it doesn’t exist on the default branch, so gh workflow run cannot dispatch it from there. I was able to trigger the workflow successfully from the GitHub Actions UI by explicitly selecting the branch from the workflow and then running it with the llvmdev_run_id input. |
|
@MugundanMCW @khmyznikov -- we discussed this extensively during the developer meeting and came to the decision that the changes to our CI/build infrastructure are too stong. We don't want to introduce builds based on We do appreciate the feasibility of running |
|
@esc Let me share some extra thoughts. Python is aiming to move out of experimental status on WoA this fall, and before that happens, we’re working to get as many essential libraries ready as possible. Missing the llvmlite/numba stack could seriously disrupt this effort. Conda support for WoA is coming, we’ve had positive signals, but it’s a big collaboration and might take another year to fully land. With new powerful Arm hardware launching soon (more announcements coming) and Python progressing in parallel, we have a great chance to support the platform at the right time. I’d ask you to reconsider, our partners are ready to help finish and maintain this change. It might not be the perfect solution, but the |
|
@khmyznikov the short answer is: no, not at this point. For a longer answer please continue to read. This was discussed extensively during our weekly maintainer meeting and the decision to not accept the proposed solution at this time was unanimous. This does not mean that a) we don't want to support win-on-arm in general b) we will not reverse our decision about For more context: we spent 2025 revamping our CI system and porting everything to GitHub actions using For the time being, I would encourage the following: a) Leave this PR open as it may serve a future use, either fully or partially. Lastly, I would like to emphasize that this decision was not take lightly and that we are sorry to have to potentially disrupt your efforts here. Also, thank you for your continued patience on this matter 🙏 the support for this platform will materialize in time. |
|
@esc Thanks for the answer and consideration. We’re essentially building the market, and it’s a classic chicken-and-egg problem. End users face a lack of support, leading them to switch to emulation or avoid the platform altogether. That’s why we had to be proactive and anticipate user needs several steps ahead. @MugundanMCW could you also investigate |
Yes, I understand. As soon as |


PR Description:
Changes proposed: