Add Windows ARM64 support to CI - #3851
Open
chinazhangchao wants to merge 2 commits into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds Windows ARM64 coverage to the artifact build workflows so PyPI/SVN release-candidate builds can run on a Windows ARM runner, with a minimal test setup to avoid the current lack of PyArrow Windows ARM64 wheels.
Changes:
- Extend the OS matrix in both artifact-build workflows to include a Windows ARM runner.
- Allow per-matrix overrides of
CIBW_BEFORE_TEST/CIBW_TEST_COMMANDto run a minimal pytest invocation for Windows ARM.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| .github/workflows/svn-build-artifacts.yml | Adds Windows ARM runner to the build matrix and introduces matrix-based overrides for cibuildwheel test steps. |
| .github/workflows/pypi-build-artifacts.yml | Same as SVN workflow: adds Windows ARM runner and matrix-based overrides for cibuildwheel test steps. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+39
to
+43
| os: [ ubuntu-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-15-intel, macos-latest ] | ||
| include: | ||
| - os: windows-11-arm | ||
| before_test: "uv pip install pytest==9.1.1" | ||
| test_command: "python -m pytest --confcutdir={project}/tests/avro {project}/tests/avro/test_decoder.py" |
Comment on lines
+39
to
+43
| os: [ ubuntu-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-15-intel, macos-latest ] | ||
| include: | ||
| - os: windows-11-arm | ||
| before_test: "uv pip install pytest==9.1.1" | ||
| test_command: "python -m pytest --confcutdir={project}/tests/avro {project}/tests/avro/test_decoder.py" |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
Suppressed comments (1)
.github/workflows/pypi-build-artifacts.yml:82
- Given the goal is Windows ARM64 support, it would be safer to explicitly set
CIBW_ARCHS_WINDOWSfor thewindows-11-armmatrix entry rather than relying onCIBW_ARCHS: auto64. This helps ensure the Windows ARM64 leg always produces ARM64 wheels (and avoids accidentally building AMD64 wheels if that’s what the available interpreter resolves to).
CIBW_ARCHS: "auto64"
| @@ -71,8 +75,10 @@ jobs: | |||
| # Ignore 32 bit architectures | |||
| CIBW_ARCHS: "auto64" | |||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi @kevinjqliu , I'm from Microsoft and recently I'm working on improving Python ecosystem support for Windows on Arm.
So I updates the CI workflows to add support for Windows ARM64 builds and tests. Could you please help to review? Thanks.
Rationale for this change
Add Windows ARM64 to the PyPI and source distribution artifact build workflows.
Because PyArrow does not currently publish Windows ARM64 wheels, the Windows ARM64 runner uses a minimal test environment with
pytest==9.1.1and runs the Avro decoder test directly. Other platforms continue to use the existing development-environment setup and test command.Are these changes tested?
The Windows ARM64 configuration runs: