From 2e6533509402c35565329831842737b861551c7b Mon Sep 17 00:00:00 2001 From: Chao Zhang Date: Tue, 14 Jul 2026 11:07:05 +0800 Subject: [PATCH 1/5] add windows arm64 ci --- .github/workflows/build_wheels.yml | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index db226e5c..4db8a8ee 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -60,6 +60,31 @@ jobs: name: cibw-wheels-aarch64-${{ matrix.os }}-${{ strategy.job-index }} path: ./wheelhouse/*.whl + build_wheels_windows_arm64: + name: py${{ matrix.python-version }} on ${{ matrix.os }} (arm64) + runs-on: ${{ matrix.os }} + timeout-minutes: 60 + strategy: + fail-fast: false + matrix: + os: [windows-11-arm] + python-version: [39, 310, 311, 312, 313, 313t, 314, 314t] + + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + + - name: Build wheels + uses: pypa/cibuildwheel@65b8265957fd86372d9689a0acdfd55813970d5d # v3.1.4 + env: + CIBW_BUILD: "cp${{ matrix.python-version}}-*" + CIBW_ARCHS: ARM64 + CIBW_ENABLE: cpython-freethreading + + - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6 + with: + name: cibw-wheels-windows-arm64-${{ matrix.os }}-${{ strategy.job-index }} + path: ./wheelhouse/*.whl + build_sdist: name: sdist runs-on: ubuntu-latest @@ -86,7 +111,7 @@ jobs: join_artifacts: name: Join artifacts runs-on: ubuntu-latest - needs: [build_wheels, build_wheels_aarch64, build_sdist] + needs: [build_wheels, build_wheels_aarch64, build_wheels_windows_arm64, build_sdist] steps: - name: Merge artifacts uses: actions/upload-artifact/merge@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 From 29ae5ea69817b84a4abe018b1df1da505519868e Mon Sep 17 00:00:00 2001 From: Chao Zhang Date: Tue, 14 Jul 2026 11:51:56 +0800 Subject: [PATCH 2/5] fix hypothesis version issue --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index e533e488..832f66ea 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,5 +37,5 @@ macos.archs = ["x86_64", "arm64"] # Warnings will be silenced with following CIBW_TEST_SKIP test-skip = "*-macosx_arm64" -before-test = "pip install pytest hypothesis" +before-test = "pip install pytest hypothesis<6.156" test-command = "pytest {project}/tests --import-mode=append" From ead4730d24c57ad0ca0ed04cfaf53048c392fe8a Mon Sep 17 00:00:00 2001 From: Chao Zhang Date: Tue, 14 Jul 2026 12:04:13 +0800 Subject: [PATCH 3/5] fix hypothesis version issue --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 832f66ea..59a3c368 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,5 +37,5 @@ macos.archs = ["x86_64", "arm64"] # Warnings will be silenced with following CIBW_TEST_SKIP test-skip = "*-macosx_arm64" -before-test = "pip install pytest hypothesis<6.156" +before-test = "pip install pytest 'hypothesis<6.156'" test-command = "pytest {project}/tests --import-mode=append" From 5ce85e350cc86b05cc3f226f8a6f14b35e13ae4d Mon Sep 17 00:00:00 2001 From: Chao Zhang Date: Tue, 14 Jul 2026 12:09:46 +0800 Subject: [PATCH 4/5] add comments --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 59a3c368..158d016d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,5 +37,6 @@ macos.archs = ["x86_64", "arm64"] # Warnings will be silenced with following CIBW_TEST_SKIP test-skip = "*-macosx_arm64" +# Hypothesis >=6.156 does not publish cp313t wheels yet. It will break the CI. before-test = "pip install pytest 'hypothesis<6.156'" test-command = "pytest {project}/tests --import-mode=append" From 025336a7b7b7f11af0c933815cb40a06135f41d9 Mon Sep 17 00:00:00 2001 From: Chao Zhang Date: Tue, 14 Jul 2026 12:16:17 +0800 Subject: [PATCH 5/5] fix version string issue --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 158d016d..69c3e3fc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,5 +38,5 @@ macos.archs = ["x86_64", "arm64"] test-skip = "*-macosx_arm64" # Hypothesis >=6.156 does not publish cp313t wheels yet. It will break the CI. -before-test = "pip install pytest 'hypothesis<6.156'" +before-test = "pip install pytest \"hypothesis<6.156\"" test-command = "pytest {project}/tests --import-mode=append"