From dd8ae133e7bc1e94471fadef6ae28fc1c87ba929 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esteban=20Zim=C3=A1nyi?= Date: Thu, 22 Oct 2026 14:47:00 +0200 Subject: [PATCH] Test a pull request on one Python version per macOS runner A pull request tests every Python version on Ubuntu and one on each macOS runner, 3.10 on the Intel runner and 3.13 on the arm64 one, so it takes two macOS jobs instead of eight. A Python version breaks the pure-Python package on every platform alike, which Ubuntu covers, while a macOS runner fails on what its platform brings, the Homebrew libraries and the deployment target, whatever the Python version. A push to master or to a stable branch still tests the whole matrix. --- .github/workflows/test.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index edd7300c..74d3e14c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,6 +29,10 @@ jobs: - ld_prefix: "/usr/local" - os: macos-14 ld_prefix: "/opt/homebrew" + # A pull request tests each macOS runner on one Python version, the oldest on the Intel + # runner and the newest on the arm64 one, while Ubuntu tests every version; a push to + # master or to a stable branch tests the whole matrix. + exclude: ${{ github.event_name == 'pull_request' && fromJSON('[{"os":"macos-15-intel","python-version":"3.11"},{"os":"macos-15-intel","python-version":"3.12"},{"os":"macos-15-intel","python-version":"3.13"},{"os":"macos-14","python-version":"3.10"},{"os":"macos-14","python-version":"3.11"},{"os":"macos-14","python-version":"3.12"}]') || fromJSON('[]') }} steps: - name: Checkout