strategy:
fail-fast: false
matrix:
- os: [ubuntu-22.04, windows-2022, macos-15]
+ os: [ubuntu-22.04, ubuntu-22.04-arm, windows-2022, macos-15]
steps:
- uses: actions/checkout@v4
name: Install Python
with:
python-version: ${{ env.python-version }}
- - name: Set up QEMU
- if: runner.os == 'Linux'
- uses: docker/setup-qemu-action@v3
- with:
- platforms: all
- name: Build wheels
- uses: pypa/cibuildwheel@v2.18
+ uses: pypa/cibuildwheel@v2.22
- name: Audit ABI3 compliance
# This may be moved into cibuildwheel itself in the future. See
[tool.cibuildwheel.macos]
archs = "x86_64 universal2"
-# The arm portion of a universal wheel is a cross-compile and cannot
-# be tested on an x86 host. This must be configured explicitly to silence
-# a warning.
-test-skip = "*_universal2:arm64"
[tool.cibuildwheel.windows]
archs = "AMD64 x86 ARM64"
# TODO: figure out what's going on with these occasional log messages.
test-command = "python -m tornado.test --fail-if-logs=false"
+# Arm builds are cross-compiled and cannot be tested on the x86 host
test-skip = "*-win_arm64"
-
-[tool.cibuildwheel.linux]
-# Build wheels for the native platform (i.e. x86) as well as an emulated
-# build for aarch64.
-archs = "auto aarch64"
-
-[[tool.cibuildwheel.overrides]]
-# The emulated arm build is quite slow, so only run a portion of the test
-# suite. websocket_test is the most platform-dependent part of the tests
-# because it uses the C speedups module.
-select = "*linux_aarch64"
-test-command = "python -m tornado.test tornado.test.websocket_test"