From: Ben Darnell Date: Fri, 21 Feb 2025 15:06:17 +0000 (-0500) Subject: ci: Use native arm builders X-Git-Tag: v6.5.0b1~23^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4ef112551631547318d91b784cb4f431728eb505;p=thirdparty%2Ftornado.git ci: Use native arm builders 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. --- diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a4db3506..8c4d515f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -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 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f601494d..8f0114d5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -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: diff --git a/pyproject.toml b/pyproject.toml index 70a66a3c..165cd868 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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"