From 5ded4fc29e71d61ce22a0abcf4bc31a5c3fb6306 Mon Sep 17 00:00:00 2001 From: Brad Barnett <127794626+bdbarnett@users.noreply.github.com> Date: Wed, 21 Oct 2026 23:39:15 -0500 Subject: [PATCH 1/2] Native wheels: a macOS cell with nothing to build is empty, not a failure cibuildwheel 4 exits 3 when a repo's skip list selects no builds, so a repo that skips *-macosx_* failed its publish on the macOS cell that publishing-v7 added (pygraphics v0.1.1). Allow an empty build on macOS only; the expected-wheel-count check still catches an empty Linux or Windows cell. --- .../workflows/reusable-build-native-and-wasm-wheels.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/reusable-build-native-and-wasm-wheels.yml b/.github/workflows/reusable-build-native-and-wasm-wheels.yml index a45e70f..b0ac420 100644 --- a/.github/workflows/reusable-build-native-and-wasm-wheels.yml +++ b/.github/workflows/reusable-build-native-and-wasm-wheels.yml @@ -62,6 +62,13 @@ jobs: - name: Build native wheels uses: pypa/cibuildwheel@v4.3.1 + env: + # A repo whose skip list leaves a runner nothing to build gets an + # empty cell, not a failure: cibuildwheel 4 exits 3 on "No build + # identifiers selected" (pygraphics v0.1.1 burned on macOS). Only + # macOS is allowed to be empty; the expected-wheel-count check + # still catches a Linux or Windows cell that built nothing. + CIBW_ALLOW_EMPTY: ${{ matrix.os == 'macos-latest' && 'true' || 'false' }} - name: Upload native wheels uses: actions/upload-artifact@v7 From adae261cf759b8ac332f26c376c22082c2a78064 Mon Sep 17 00:00:00 2001 From: Brad Barnett <127794626+bdbarnett@users.noreply.github.com> Date: Wed, 21 Oct 2026 23:39:35 -0500 Subject: [PATCH 2/2] Native wheels: say what still catches an empty Linux or Windows cell --- .github/workflows/reusable-build-native-and-wasm-wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-build-native-and-wasm-wheels.yml b/.github/workflows/reusable-build-native-and-wasm-wheels.yml index b0ac420..90c0e27 100644 --- a/.github/workflows/reusable-build-native-and-wasm-wheels.yml +++ b/.github/workflows/reusable-build-native-and-wasm-wheels.yml @@ -66,8 +66,8 @@ jobs: # A repo whose skip list leaves a runner nothing to build gets an # empty cell, not a failure: cibuildwheel 4 exits 3 on "No build # identifiers selected" (pygraphics v0.1.1 burned on macOS). Only - # macOS is allowed to be empty; the expected-wheel-count check - # still catches a Linux or Windows cell that built nothing. + # macOS is allowed to be empty; a Linux or Windows cell that + # selects nothing still fails here. CIBW_ALLOW_EMPTY: ${{ matrix.os == 'macos-latest' && 'true' || 'false' }} - name: Upload native wheels