summaryrefslogtreecommitdiff
path: root/.github/workflows/build.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/build.yml')
-rw-r--r--.github/workflows/build.yml15
1 files changed, 12 insertions, 3 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ed4573a..67b4199 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -90,7 +90,13 @@ jobs:
CIBW_ARCHS_LINUX: "auto aarch64"
CIBW_ARCHS_MACOS: "auto"
CIBW_ENABLE: "pypy"
- CIBW_SKIP: "pp*-win_amd64"
+ # win_arm64 is restricted to CPython 3.11+, the earliest version with
+ # ARM64 builds available to actions/setup-python for testing.
+ #
+ # Free-threaded win_arm64 is skipped because CPython's _Py_ThreadId()
+ # tries calling __getReg() that CLANGARM64 clang does not provide.
+ # https://github.com/python/cpython/issues/157212
+ CIBW_SKIP: "pp*-win_amd64 cp39-win_arm64 cp310-win_arm64 cp3??t-win_arm64"
run: |
MATRIX=$(
{
@@ -99,7 +105,9 @@ jobs:
&& cibuildwheel --print-build-identifiers --platform macos \
| sed 's/.*/{"cibw-only": "&", "os": "macos-15-intel" }/' \
&& CIBW_ARCHS_WINDOWS=AMD64 cibuildwheel --print-build-identifiers --platform windows \
- | sed 's/.*/{"cibw-only": "&", "os": "windows-2022", "arch": "AMD64" }/'
+ | sed 's/.*/{"cibw-only": "&", "os": "windows-2022", "arch": "AMD64" }/' \
+ && CIBW_ARCHS_WINDOWS=ARM64 cibuildwheel --print-build-identifiers --platform windows \
+ | sed 's/.*/{"cibw-only": "&", "os": "windows-11-arm", "arch": "ARM64" }/'
} | jq --slurp --compact-output '{"include": .}'
)
echo matrix="$MATRIX" >> $GITHUB_OUTPUT
@@ -127,7 +135,8 @@ jobs:
matrix.cibw-only == 'cp310-macosx_x86_64' ||
matrix.cibw-only == 'cp314t-macosx_x86_64' ||
matrix.cibw-only == 'cp310-win_amd64' ||
- matrix.cibw-only == 'cp314t-win_amd64'
+ matrix.cibw-only == 'cp314t-win_amd64' ||
+ matrix.cibw-only == 'cp311-win_arm64'
shell: bash
run: echo true=1 >> $GITHUB_OUTPUT