]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
ci: Use native arm builders
authorBen Darnell <ben@bendarnell.com>
Fri, 21 Feb 2025 15:06:17 +0000 (10:06 -0500)
committerBen Darnell <ben@bendarnell.com>
Fri, 21 Feb 2025 15:06:17 +0000 (10:06 -0500)
This speeds up the build job dramatically by eliminating the need for
emulation.

MacOS builds have also shifted to run on arm hosts instead of x86 hosts,
and it's now possible to run tests for both arm and x86 on the same
host.

.github/workflows/build.yml
.github/workflows/test.yml
pyproject.toml

index a4db3506897ce489c23c682c052fe6543830470f..8c4d515fc6f530269f425f6fe544019b1f5fb597 100644 (file)
@@ -51,7 +51,7 @@ jobs:
     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
@@ -61,14 +61,9 @@ jobs:
         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
index f601494da3ad5efec2338217da406ff9164ea854..8f0114d51443f0666f991294fd53936a904dd356 100644 (file)
@@ -109,6 +109,7 @@ jobs:
   zizmor:
     name: Analyze action configs with zizmor
     runs-on: ubuntu-22.04
+    needs: test_quick
     steps:
       - uses: actions/checkout@v4
         with:
index 70a66a3ca98f7e3f16064fcf05dcd02c213232a9..165cd868075e339bf9aa85e61a8701cde98af67b 100644 (file)
@@ -11,25 +11,10 @@ test-command = "python -m tornado.test"
 
 [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"