diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5f4d9469f1ec..487a819946c8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -346,16 +346,21 @@ 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'} PYTHON: - {VERSION: "3.8", NOXSESSION: "tests-nocoverage"} - {VERSION: "3.13", NOXSESSION: "tests"} + 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: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 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 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