From ca2381021e346139764fc1ab304ff9d12a13950d Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Thu, 24 Jul 2025 14:35:24 -0400 Subject: [PATCH 1/2] Backport PR #28554: BLD: Enable wheels on Windows-on-ARM --- .github/workflows/cibuildwheel.yml | 6 ++++-- pyproject.toml | 8 ++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cibuildwheel.yml b/.github/workflows/cibuildwheel.yml index 3eddbb402e6a..39157520d8f5 100644 --- a/.github/workflows/cibuildwheel.yml +++ b/.github/workflows/cibuildwheel.yml @@ -127,7 +127,9 @@ jobs: - os: ubuntu-24.04-arm cibw_archs: "aarch64" - os: windows-latest - cibw_archs: "auto64" + cibw_archs: "AMD64" + - os: windows-11-arm + cibw_archs: "ARM64" - os: macos-13 cibw_archs: "x86_64" - os: macos-14 @@ -183,7 +185,7 @@ jobs: CIBW_BUILD: "pp310-*" CIBW_ARCHS: ${{ matrix.cibw_archs }} CIBW_ENABLE: pypy - if: matrix.cibw_archs != 'aarch64' && matrix.os != 'windows-latest' + if: matrix.cibw_archs != 'aarch64' && matrix.os != 'windows-latest' && matrix.os != 'windows-11-arm' - uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 with: diff --git a/pyproject.toml b/pyproject.toml index e6d1abaf530b..5666016f0508 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -85,6 +85,14 @@ local_scheme = "node-and-date" parentdir_prefix_version = "matplotlib-" fallback_version = "0.0+UNKNOWN" +# FIXME: Remove this override once dependencies are available on PyPI. +[[tool.cibuildwheel.overrides]] +select = "*-win_arm64" +before-test = """\ + pip install --pre \ + --index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple \ + contourpy numpy""" + [tool.isort] known_pydata = "numpy, matplotlib.pyplot" known_firstparty = "matplotlib,mpl_toolkits" From 2b8082cae46183b6a02e6d1a0a79116557376d84 Mon Sep 17 00:00:00 2001 From: Kyle Sunden Date: Fri, 25 Jul 2025 13:13:20 -0500 Subject: [PATCH 2/2] Do not build 3.10 win-arm Dependencies do not provide wheels, so do not try to build them ourselves (was failing because it was trying to install from nightlies, and no compatible version was provided). --- .github/workflows/cibuildwheel.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/cibuildwheel.yml b/.github/workflows/cibuildwheel.yml index 39157520d8f5..34507bde6edc 100644 --- a/.github/workflows/cibuildwheel.yml +++ b/.github/workflows/cibuildwheel.yml @@ -176,6 +176,8 @@ jobs: env: CIBW_BUILD: "cp310-*" CIBW_ARCHS: ${{ matrix.cibw_archs }} + # Ignore because dependencies do not provide win-arm wheels on 3.10; should be removed on merge up + if: matrix.os != 'windows-11-arm' - name: Build wheels for PyPy uses: pypa/cibuildwheel@ee63bf16da6cddfb925f542f2c7b59ad50e93969 # v2.22.0