Skip to content

Wheels for win_arm64 #61463

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 35 commits into from
May 21, 2025
Merged
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
d22fd46
Update wheels.yml
khmyznikov May 13, 2025
51d0ed9
add test workflow
khmyznikov May 14, 2025
ab0cafc
doing another way
khmyznikov May 14, 2025
ac467fa
trying to fix cibuildwheel
khmyznikov May 14, 2025
1c8362c
another try
khmyznikov May 14, 2025
37504bc
.
khmyznikov May 14, 2025
63ffc1a
.
khmyznikov May 14, 2025
1276d95
.
khmyznikov May 14, 2025
a6fa02a
debug path
khmyznikov May 15, 2025
7bb0349
.
khmyznikov May 15, 2025
3bdb61f
.
khmyznikov May 15, 2025
d78595a
.
khmyznikov May 15, 2025
e5ccd87
.
khmyznikov May 15, 2025
92d6a7b
.
khmyznikov May 15, 2025
42e92c3
.
khmyznikov May 15, 2025
480122b
.
khmyznikov May 19, 2025
75a6e59
.
khmyznikov May 19, 2025
f302640
.
khmyznikov May 19, 2025
da3023c
.
khmyznikov May 19, 2025
af4a071
.
khmyznikov May 19, 2025
c267e77
test minimal changes
khmyznikov May 19, 2025
04dfc32
.
khmyznikov May 19, 2025
6cda533
delete test file
khmyznikov May 19, 2025
290d039
.
khmyznikov May 19, 2025
b1e1b06
.
khmyznikov May 19, 2025
f88ecf8
revert ubuntu version
khmyznikov May 19, 2025
e2c752b
test arm build
khmyznikov May 19, 2025
5aa4d32
uncomment platforms
khmyznikov May 19, 2025
15b3f4c
get ubuntu back for manylinux
khmyznikov May 19, 2025
2a15522
remove comment
khmyznikov May 19, 2025
f9aa3a6
line ending?
khmyznikov May 19, 2025
296ba0d
Revert "line ending?"
khmyznikov May 19, 2025
9e419b5
execute install delvewheel for all win plats
khmyznikov May 20, 2025
558f4a2
new line at the end?
khmyznikov May 20, 2025
d97dbcd
addressing comments
khmyznikov May 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 25 additions & 2 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ jobs:
# Note: M1 images on Github Actions start from macOS 14
- [macos-14, macosx_arm64]
- [windows-2022, win_amd64]
- [windows-11-arm, win_arm64]
# TODO: support PyPy?
python: [["cp310", "3.10"], ["cp311", "3.11"], ["cp312", "3.12"], ["cp313", "3.13"], ["cp313t", "3.13"]]
include:
Expand All @@ -112,6 +113,12 @@ jobs:
- buildplat: [ubuntu-22.04, pyodide_wasm32]
python: ["cp312", "3.12"]
cibw_build_frontend: 'build'
exclude:
- buildplat: [windows-11-arm, win_arm64]
python: ["cp310", "3.10"]
# BackendUnavailable: Cannot import 'mesonpy'
- buildplat: [windows-11-arm, win_arm64]
python: ["cp313t", "3.13"]

env:
IS_PUSH: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
Expand All @@ -122,6 +129,12 @@ jobs:
with:
fetch-depth: 0

- name: Set up MSVC environment for ARM64
if: matrix.buildplat[1] == 'win_arm64'
uses: ilammy/msvc-dev-cmd@v1
with:
arch: arm64

# TODO: Build wheels from sdist again
# There's some sort of weird race condition?
# within Github that makes the sdist be missing files
Expand Down Expand Up @@ -159,9 +172,13 @@ jobs:
env:
CIBW_BUILD: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
CIBW_BUILD_FRONTEND: ${{ matrix.cibw_build_frontend || 'pip' }}
CIBW_PLATFORM: ${{ matrix.buildplat[1] == 'pyodide_wasm32' && 'pyodide' || 'auto' }}
CIBW_PLATFORM: ${{ (matrix.buildplat[1] == 'pyodide_wasm32' && 'pyodide') || (matrix.buildplat[1] == 'win_arm64' && 'windows') || 'auto' }}
CIBW_ARCHS: ${{ matrix.buildplat[1] == 'win_arm64' && 'ARM64' || 'auto' }}
CIBW_BEFORE_BUILD_WINDOWS: 'python -m pip install delvewheel'

- name: Set up Python
- name: Set up Python for validation/upload (non-ARM64 Windows & other OS)
# micromamba is not available for ARM64 Windows
if: matrix.buildplat[1] != 'win_arm64'
uses: mamba-org/setup-micromamba@v2
with:
environment-name: wheel-env
Expand All @@ -174,6 +191,12 @@ jobs:
cache-downloads: true
cache-environment: true

- name: Install wheel for win_arm64
# installing wheel here because micromamba step was skipped
if: matrix.buildplat[1] == 'win_arm64'
shell: bash -el {0}
run: python -m pip install wheel

- name: Validate wheel RECORD
shell: bash -el {0}
run: for whl in $(ls wheelhouse); do wheel unpack wheelhouse/$whl -d /tmp; done
Expand Down
Loading