ci: update cibuildwheel to v4.1 and pyodide to 314 (#6095)

* ci: update cibuildwheel to v4.1 and pyodide to 314

Bump pypa/cibuildwheel from v3.4 to v4.1 across the Pyodide, iOS, and
Android jobs. Move the Pyodide build to cp314-pyodide_wasm32
(pyodide 314.0.0).

Drop the iOS CIBW_SKIP: cp314-* workaround now that pypa/cibuildwheel#2494
is resolved.

Assisted-by: ClaudeCode:claude-opus-4.8

* test: xfail array resize on numpy<2.4 + Python 3.14

Removing the cp314 iOS skip surfaced a pre-existing numpy bug, not a
cibuildwheel regression: numpy<2.4 has a resize(refcheck=True) regression
on Python 3.14 where the reference held by the bound function isn't
detected, so a resize that should raise instead succeeds and the later
reshape rejects the non-square size. Fixed in numpy>=2.4, but the iOS test
environment has no numpy wheel newer than 2.3.5.post1, so xfail the test
for that specific combination.

Assisted-by: ClaudeCode:claude-opus-4.8

* test: link numpy resize aliasing issue and trim comment

iOS numpy wheels updated to 2.5.0, so the xfail is a general numpy<2.4 +
Python 3.14 guard rather than iOS-specific. Reference numpy/numpy#30265.

Assisted-by: ClaudeCode:claude-opus-4.8
This commit is contained in:
Henry Schreiner
2026-07-08 23:31:36 -04:00
committed by GitHub
parent 7ca651c0e5
commit 28b98f2d39
2 changed files with 13 additions and 2 deletions

View File

@@ -30,7 +30,7 @@ jobs:
PYODIDE_BUILD_EXPORTS: whole_archive
with:
package-dir: tests
only: cp312-pyodide_wasm32
only: cp314-pyodide_wasm32
build-ios:
name: iOS wheel ${{ matrix.runs-on }}
@@ -51,7 +51,6 @@ jobs:
- uses: pypa/cibuildwheel@v4.1
env:
CIBW_PLATFORM: ios
CIBW_SKIP: cp314-* # https://github.com/pypa/cibuildwheel/issues/2494
with:
package-dir: tests