Add Windows on Arm (arm64) CI: build + regression-test the driver, ...#196
Add Windows on Arm (arm64) CI: build + regression-test the driver, ...#196jraiford1 wants to merge 2 commits into
Conversation
…M and MSI natively on windows-11-arm, with libpq and OpenSSL built from source
|
Hi. This PR adds Windows on Arm (arm64) support. I've extended the Windows CI action to also compile and regression-test the driver natively on arm64, and it builds the arm64 installers (MSM/MSI) alongside the existing x86/x64 ones. I've also updated the release action to require the arm build to pass. I believe I have matched the style and organization already being used. Please let me know if you require any changes. By the way, mimalloc isn't available for arm64 the same way it is for x86/x64: its vs2022 project (which winbuild uses) has no ARM64 platform configuration — see microsoft/mimalloc#941. Only mimalloc's CMake build supports arm64, which would diverge from the x86/x64 winbuild scripts, so I've left mimalloc out of the arm64 build for now. Happy to add it via CMake as a follow-up if you'd prefer. |
|
In case no one else makes the time to say it, you’re a legend :) |
|
FYI, there is a download for OpenSSL on Arm https://slproweb.com/download/Win64ARMOpenSSL-3_5_7.exe alternatively, we could add a build for it in the project and just pull from there instead of building it every time |
|
Sure, no problem. I'll update it to pull from there. |
|
Done. The arm64 job now pulls the prebuilt Win64ARM OpenSSL from slproweb (silent install, cached) instead of building from source. This matches the same pattern used by the x86/x64 jobs. I also brought the rest of the arm64 section in line with x64 (cache-key components, step ids, MSVC-setup placement), so they're easier to compare now. |
MSM and MSI natively on windows-11-arm, with libpq and OpenSSL built from source