arrow icon indicating copy to clipboard operation
arrow copied to clipboard

GH-47196: [CI][Python] Add support for building PyArrow library on Windows ARM64

Open MugundanMCW opened this issue 3 weeks ago • 0 comments

Rationale for this change

  • The adoption of Windows on ARM (WoA) devices is steadily increasing, yet many Python wheels are still not available for this platform.
  • GitHub Actions now offers native CI runners for Windows on ARM devices (windows-11-arm), enabling automated builds and testing.
  • Currently, official PyArrow Python wheels are not provided for Windows ARM64, and users and developers face difficulties using the popular PyArrow library natively.
  • This PR introduces support for building PyArrow wheels on Windows ARM64, improving accessibility for developers and end users on this emerging platform.

What changes are included in this PR?

  • The current Windows x64 CI pipeline depends on a Windows Docker container. Windows ARM64 Docker support is still experimental and does not yet support Windows ARM64 containers.
  • To overcome this limitation, this PR uses the native GitHub Windows ARM64 environment instead of relying on Docker containers.
  • The following changes are made to add wheel builder support for PyArrow on Windows ARM64:
    • Added a Windows ARM64 build configuration in task.yml.
    • Added a new GitHub workflow file (github.windows.arm64.yml) for building PyArrow.
    • Added a batch script invoked by the workflow to build both the C++ and Python components of Arrow using the MSVC toolchain.
    • Updated vcpkg.json to exclude the xsimd dependency on Windows ARM64 due to MSVC compatibility issues.

Are these changes tested?

  • Yes, built locally and test its functionality on Native Windows ARM64 device.

Are there any user-facing changes?

  • No

Github Issue: https://github.com/apache/arrow/issues/47195

  • GitHub Issue: #47196

MugundanMCW avatar Dec 15 '25 06:12 MugundanMCW