Skip to content

ci: add Windows ARM64 build - #3181

Open
ndabas wants to merge 1 commit into
apache:mainfrom
ndabas:main
Open

ndabas wants to merge 1 commit into
apache:mainfrom
ndabas:main

Conversation

@ndabas

@ndabas ndabas commented Sep 9, 2026

Copy link
Copy Markdown

What changes are included in this PR?

Adds Windows ARM64 wheels in the PyPI workflows. It's a trivial change because the workflows are fairly well-structured already, so I did not create an issue for discussion beforehand.

Are these changes tested?

Similar to most other wheels generated in the PyPI workflows, the test is simply to try and install the built wheels, which passes on my fork.

I should note that while the Bindings Python CI workflow currently only tests on a small subset of all supported platform and architecture combinations, so it doesn't make sense to add Windows ARM64 there, currently that would certainly fail because there is no win_arm64 binary wheel available for PyArrow. As that is not a runtime dependency, the wheels should work fine in any case. (This is similar to the linux armv7l case, which also does not have PyArrow wheels available and isn't tested beyond "it compiles".)

We could add a command to the "install wheel" step to actually try importing it as well, just as a quick smoke test.

AI Disclosure

No AI was used for these changes.

Copilot AI lite review requested due to automatic review settings September 9, 2026 15:27
@ndabas ndabas changed the title Add Windows ARM64 build ci: add Windows ARM64 build Sep 9, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Pull request overview

Adds Windows ARM64 wheel builds to the Python nightly and release GitHub Actions workflows by expanding the build matrix.

Changes:

  • Add an additional Windows runner entry intended for ARM64 builds in the nightly PyPI workflow matrix
  • Add the same Windows ARM64 runner entry in the release PyPI workflow matrix

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
.github/workflows/release_python_nightly.yml Adds a Windows ARM runner to the nightly wheel build matrix
.github/workflows/release_python.yml Adds a Windows ARM runner to the release wheel build matrix

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/release_python.yml
Comment thread .github/workflows/release_python_nightly.yml
@comphead

Copy link
Copy Markdown

Thanks @ndabas is there any specific reason adding windows? windows ASF machines are proven to be slow and not very stable, more over this would increase CI time and workload for shared ASF pool

@comphead comphead left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO, ideally to stop windows support, rustc on window machines is not very well performing

@ndabas

ndabas commented Sep 18, 2026

Copy link
Copy Markdown
Author

Thanks for looking into this @comphead. Please correct me if I am wrong, but these workflows run on shared GitHub Actions provided infrastructure, not ASF internal infra? The runner labels ubuntu-latest, windows-latest, etc. and the one I've added, windows-11-arm, are all standard GitHub-hosted runners. It doesn't really add any time to the build as it's run in parallel, and the new Windows ARM64 job takes about the same amount of time as the existing Windows one (both take about 6m30s vs. 4m30s for the Ubuntu ones.)

The reason why we need this is because we already have Windows AMD64 wheels, and with Windows ARM64 adoption increasing, it would be nice to have ARM64 wheels as well. Nvidia is supporting me in doing this work as they are preparing for the RTX Spark launch, which is an ARM chip, and new devices will have Windows on ARM64 at launch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants