From 681502e2da4d9207991c1097844bd1b1a3f3c818 Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Tue, 15 Apr 2025 08:52:11 -0400 Subject: [PATCH 01/10] refs #11199 attempt to test on windows arm64 --- .github/workflows/ci.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5f4d9469f1ec..93536ccbaddb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -346,13 +346,14 @@ jobs: - uses: ./.github/actions/upload-coverage windows: - runs-on: windows-latest + runs-on: ${{ matrix.WINDOWS.RUNNER }} strategy: fail-fast: false matrix: WINDOWS: - - {ARCH: 'x86', WINDOWS: 'win32'} - - {ARCH: 'x64', WINDOWS: 'win64'} + - {ARCH: 'x86', WINDOWS: 'win32', RUNNER: 'windows-latest'} + - {ARCH: 'x64', WINDOWS: 'win64', RUNNER: 'windows-latest'} + - {ARCH: 'arm64', WINDOWS: 'arm64', RUNNER: 'windows-11-arm'} PYTHON: - {VERSION: "3.8", NOXSESSION: "tests-nocoverage"} - {VERSION: "3.13", NOXSESSION: "tests"} From 8f308bc343aedc90752bf8a503f49ca2cda2c13d Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Tue, 15 Apr 2025 08:58:13 -0400 Subject: [PATCH 02/10] Update ci.yml --- .github/workflows/ci.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 93536ccbaddb..ebf50e01b63b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -353,10 +353,14 @@ jobs: WINDOWS: - {ARCH: 'x86', WINDOWS: 'win32', RUNNER: 'windows-latest'} - {ARCH: 'x64', WINDOWS: 'win64', RUNNER: 'windows-latest'} - - {ARCH: 'arm64', WINDOWS: 'arm64', RUNNER: 'windows-11-arm'} + # TODO: win32 + arm64? wat? + - {ARCH: 'arm64', WINDOWS: 'win32', RUNNER: 'windows-11-arm'} PYTHON: - {VERSION: "3.8", NOXSESSION: "tests-nocoverage"} - {VERSION: "3.13", NOXSESSION: "tests"} + exclude: + - PYTHON: {VERSION: "3.7", NOXSESSION: "tests-nocoverage"} + WINDOWS: {ARCH: 'arm64', WINDOWS: 'win32', RUNNER: 'windows-11-arm'} timeout-minutes: 15 steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 From 89b8183c21f680d37ac3543f7ab1afbaeca49458 Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Fri, 2 May 2025 16:21:28 -0700 Subject: [PATCH 03/10] ...sure --- .github/workflows/ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ebf50e01b63b..0aa4c4873a66 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -376,6 +376,11 @@ jobs: cache: pip cache-dependency-path: ci-constraints-requirements.txt timeout-minutes: 3 + - name: Setup rust + uses: dtolnay/rust-toolchain@b3b07ba8b418998c39fb20f53e8b695cdcc8de1b + with: + toolchain: stable + if: matrix.WINDOWS.ARCH == 'arm64' - run: rustup component add llvm-tools-preview - name: Cache rust and pip uses: ./.github/actions/cache From d0e5e64c66d270b19476e1fb9959afa4f1b56a76 Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Fri, 2 May 2025 19:30:37 -0400 Subject: [PATCH 04/10] Update ci.yml --- .github/workflows/ci.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0aa4c4873a66..3d59e5f5fca6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -353,14 +353,13 @@ jobs: WINDOWS: - {ARCH: 'x86', WINDOWS: 'win32', RUNNER: 'windows-latest'} - {ARCH: 'x64', WINDOWS: 'win64', RUNNER: 'windows-latest'} - # TODO: win32 + arm64? wat? - - {ARCH: 'arm64', WINDOWS: 'win32', RUNNER: 'windows-11-arm'} + - {ARCH: 'arm64', WINDOWS: 'arm64', RUNNER: 'windows-11-arm'} PYTHON: - {VERSION: "3.8", NOXSESSION: "tests-nocoverage"} - {VERSION: "3.13", NOXSESSION: "tests"} exclude: - PYTHON: {VERSION: "3.7", NOXSESSION: "tests-nocoverage"} - WINDOWS: {ARCH: 'arm64', WINDOWS: 'win32', RUNNER: 'windows-11-arm'} + WINDOWS: {ARCH: 'arm64', WINDOWS: 'arm64', RUNNER: 'windows-11-arm'} timeout-minutes: 15 steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 From 7be4e2063cc1c755f99bee79b5fa13def9b90854 Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Sun, 8 Jun 2025 22:48:53 -0400 Subject: [PATCH 05/10] get back to our desired test state --- .github/workflows/ci.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3d59e5f5fca6..d8e0a73b3bb0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -375,11 +375,6 @@ jobs: cache: pip cache-dependency-path: ci-constraints-requirements.txt timeout-minutes: 3 - - name: Setup rust - uses: dtolnay/rust-toolchain@b3b07ba8b418998c39fb20f53e8b695cdcc8de1b - with: - toolchain: stable - if: matrix.WINDOWS.ARCH == 'arm64' - run: rustup component add llvm-tools-preview - name: Cache rust and pip uses: ./.github/actions/cache From 565546bd917cda5e73cf4fc75ec817cb77077311 Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Sun, 8 Jun 2025 22:50:15 -0400 Subject: [PATCH 06/10] oops, too old --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d8e0a73b3bb0..03bad27cd52b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -358,7 +358,7 @@ jobs: - {VERSION: "3.8", NOXSESSION: "tests-nocoverage"} - {VERSION: "3.13", NOXSESSION: "tests"} exclude: - - PYTHON: {VERSION: "3.7", NOXSESSION: "tests-nocoverage"} + - PYTHON: {VERSION: "3.8", NOXSESSION: "tests-nocoverage"} WINDOWS: {ARCH: 'arm64', WINDOWS: 'arm64', RUNNER: 'windows-11-arm'} timeout-minutes: 15 steps: From 91c1aeef215c5e246a4aa43af81468ba76af8a47 Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Tue, 29 Jul 2025 11:25:07 -0400 Subject: [PATCH 07/10] GHA From 52c77c3d376f4af2f36bf0648c3eb3231029a9b9 Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Wed, 30 Jul 2025 11:27:09 -0400 Subject: [PATCH 08/10] fix? --- .github/workflows/ci.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 03bad27cd52b..487a819946c8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -353,12 +353,13 @@ jobs: WINDOWS: - {ARCH: 'x86', WINDOWS: 'win32', RUNNER: 'windows-latest'} - {ARCH: 'x64', WINDOWS: 'win64', RUNNER: 'windows-latest'} - - {ARCH: 'arm64', WINDOWS: 'arm64', RUNNER: 'windows-11-arm'} PYTHON: - {VERSION: "3.8", NOXSESSION: "tests-nocoverage"} - {VERSION: "3.13", NOXSESSION: "tests"} - exclude: - - PYTHON: {VERSION: "3.8", NOXSESSION: "tests-nocoverage"} + include: + # Not in the main matrix because we want tests-nocoverage on Python + # 3.13 + - PYTHON: {VERSION: "3.13", NOXSESSION: "tests-nocoverage"} WINDOWS: {ARCH: 'arm64', WINDOWS: 'arm64', RUNNER: 'windows-11-arm'} timeout-minutes: 15 steps: From 9201b79485059170ec28701affeba12c1dd3c0c2 Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Wed, 30 Jul 2025 13:40:21 -0400 Subject: [PATCH 09/10] build wheels --- .github/workflows/wheel-builder.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/wheel-builder.yml b/.github/workflows/wheel-builder.yml index 1605f8c871ca..7dd1877489f6 100644 --- a/.github/workflows/wheel-builder.yml +++ b/.github/workflows/wheel-builder.yml @@ -300,13 +300,14 @@ jobs: windows: needs: [sdist] - runs-on: windows-latest + runs-on: ${{ matrix.WINDOWS.RUNNER }} strategy: fail-fast: false matrix: WINDOWS: - - {ARCH: 'x86', WINDOWS: 'win32', RUST_TRIPLE: 'i686-pc-windows-msvc'} - - {ARCH: 'x64', WINDOWS: 'win64', RUST_TRIPLE: 'x86_64-pc-windows-msvc'} + - {ARCH: 'x86', WINDOWS: 'win32', RUST_TRIPLE: 'i686-pc-windows-msvc', RUNNER: 'windows-latest'} + - {ARCH: 'x64', WINDOWS: 'win64', RUST_TRIPLE: 'x86_64-pc-windows-msvc', RUNNER: 'windows-latest'} + - {ARCH: 'arm64', WINDOWS: 'arm64', RUST_TRIPLE: 'aarch64-pc-windows-msvc', RUNNER: 'windows-11-arm'} PYTHON: - {VERSION: "3.11", "ABI_VERSION": "py38"} - {VERSION: "3.11", "ABI_VERSION": "py311"} @@ -318,6 +319,11 @@ jobs: PYTHON: {VERSION: "pypy-3.10"} - WINDOWS: {ARCH: 'x86', WINDOWS: 'win32', RUST_TRIPLE: 'i686-pc-windows-msvc'} PYTHON: {VERSION: "pypy-3.11"} + # We need to exclude the below configuration because there is no ARM64 pypy3 + - WINDOWS: {ARCH: 'arm64', WINDOWS: 'arm64', RUST_TRIPLE: 'aarch64-pc-windows-msvc', RUNNER: 'windows-11-arm'} + PYTHON: {VERSION: "pypy-3.10"} + - WINDOWS: {ARCH: 'arm64', WINDOWS: 'arm64', RUST_TRIPLE: 'aarch64-pc-windows-msvc', RUNNER: 'windows-11-arm'} + PYTHON: {VERSION: "pypy-3.11"} name: "${{ matrix.PYTHON.VERSION }} ${{ matrix.WINDOWS.WINDOWS }} ${{ matrix.PYTHON.ABI_VERSION }}" steps: - name: Get build-requirements.txt from repository From 91be76af16c9345da84f092681e442f8812f973b Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Thu, 31 Jul 2025 07:39:57 -0400 Subject: [PATCH 10/10] document in installation --- docs/installation.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/installation.rst b/docs/installation.rst index e33cc67e1c96..e15dd82727fe 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -35,6 +35,7 @@ operating systems. Sid (unstable) * x86-64 and ARM64 Alpine (latest) * 32-bit and 64-bit Python on 64-bit Windows Server 2022 +* ARM64 Windows 11 We test compiling with ``clang`` as well as ``gcc`` and use the following OpenSSL releases in addition to distribution provided releases from the