From 108a5454e764c5ad367df4439c85273126fcc60d Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Thu, 21 Aug 2025 16:56:27 -0400 Subject: [PATCH 1/9] ci: update for cibuildwheel 3.1.4 --- .github/workflows/tests-cibw.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/tests-cibw.yml b/.github/workflows/tests-cibw.yml index 0abddd0be0..3ca4bc7e05 100644 --- a/.github/workflows/tests-cibw.yml +++ b/.github/workflows/tests-cibw.yml @@ -27,7 +27,7 @@ jobs: PYODIDE_BUILD_EXPORTS: whole_archive with: package-dir: tests - only: cp312-pyodide_wasm32 + only: cp313-pyodide_wasm32 build-ios: name: iOS wheel ${{ matrix.runs-on }} @@ -47,7 +47,6 @@ jobs: - uses: pypa/cibuildwheel@v3.1 env: CIBW_PLATFORM: ios - CIBW_SKIP: cp314-* # https://github.com/pypa/cibuildwheel/issues/2494 with: package-dir: tests @@ -77,8 +76,6 @@ jobs: sudo udevadm control --reload-rules sudo udevadm trigger --name-match=kvm - - run: pipx install patchelf - - uses: pypa/cibuildwheel@v3.1 env: CIBW_PLATFORM: android From a9be477546710991145cd99d525d875c69fb9e42 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Thu, 21 Aug 2025 17:05:21 -0400 Subject: [PATCH 2/9] Update tests-cibw.yml --- .github/workflows/tests-cibw.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/tests-cibw.yml b/.github/workflows/tests-cibw.yml index 3ca4bc7e05..19fdf85fdb 100644 --- a/.github/workflows/tests-cibw.yml +++ b/.github/workflows/tests-cibw.yml @@ -76,6 +76,8 @@ jobs: sudo udevadm control --reload-rules sudo udevadm trigger --name-match=kvm + - run: pipx install patchelf + - uses: pypa/cibuildwheel@v3.1 env: CIBW_PLATFORM: android From d27a76f7ac30c1ef98978a39e22e03cbe53afc56 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Thu, 21 Aug 2025 17:44:48 -0400 Subject: [PATCH 3/9] Update pyproject.toml --- tests/pyproject.toml | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/tests/pyproject.toml b/tests/pyproject.toml index fa478122d3..2e0e281ad7 100644 --- a/tests/pyproject.toml +++ b/tests/pyproject.toml @@ -9,12 +9,12 @@ build-backend = "scikit_build_core.build" [project] name = "pybind11_tests" version = "0.0.1" -dependencies = ["pytest", "pytest-timeout"] - - -[dependency-groups] -numpy = ["numpy"] -scipy = ["scipy"] +dependencies = [ + "pytest", + "pytest-timeout" + "numpy; sys_platform != 'android' and (sys_platform != 'ios' or python_version < '3.14')", + "scipy; sys_platform != 'android' and sys_platform != 'ios'", +] [tool.scikit-build] @@ -28,11 +28,8 @@ PYBIND11_FINDPYTHON = true [tool.cibuildwheel] test-sources = ["tests", "pyproject.toml"] test-command = "python -m pytest -o timeout=0 -p no:cacheprovider tests" -environment.PIP_ONLY_BINARY = "numpy" +environment.PIP_ONLY_BINARY = "numpy,scipy" environment.PIP_PREFER_BINARY = "1" - android.environment.ANDROID_API_LEVEL = "24" # Needed to include libc++ in the wheel. -pyodide.test-groups = ["numpy", "scipy"] -ios.test-groups = ["numpy"] ios.xbuild-tools = ["cmake", "ninja"] ios.environment.PIP_EXTRA_INDEX_URL = "https://pypi.anaconda.org/beeware/simple" From 0e7b01ffb8ee9711737cb1c353a172eed4f378e8 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Thu, 21 Aug 2025 17:45:42 -0400 Subject: [PATCH 4/9] Update pyproject.toml --- tests/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/pyproject.toml b/tests/pyproject.toml index 2e0e281ad7..7eca908946 100644 --- a/tests/pyproject.toml +++ b/tests/pyproject.toml @@ -11,7 +11,7 @@ name = "pybind11_tests" version = "0.0.1" dependencies = [ "pytest", - "pytest-timeout" + "pytest-timeout", "numpy; sys_platform != 'android' and (sys_platform != 'ios' or python_version < '3.14')", "scipy; sys_platform != 'android' and sys_platform != 'ios'", ] From 1a0fd307cdb84ef49ea2ebfadeb6fa4bf4d7c73a Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Thu, 21 Aug 2025 17:54:14 -0400 Subject: [PATCH 5/9] Update pyproject.toml --- tests/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/pyproject.toml b/tests/pyproject.toml index 7eca908946..9ae0f391be 100644 --- a/tests/pyproject.toml +++ b/tests/pyproject.toml @@ -12,7 +12,7 @@ version = "0.0.1" dependencies = [ "pytest", "pytest-timeout", - "numpy; sys_platform != 'android' and (sys_platform != 'ios' or python_version < '3.14')", + "numpy; sys_platform != "android" and not (sys_platform == "ios" and python_version >= "3.14")", "scipy; sys_platform != 'android' and sys_platform != 'ios'", ] From 9edfe70075566d512469dc921d2de53397f064b8 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Thu, 21 Aug 2025 17:57:52 -0400 Subject: [PATCH 6/9] Update pyproject.toml --- tests/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/pyproject.toml b/tests/pyproject.toml index 9ae0f391be..2b5c03f7e6 100644 --- a/tests/pyproject.toml +++ b/tests/pyproject.toml @@ -12,7 +12,7 @@ version = "0.0.1" dependencies = [ "pytest", "pytest-timeout", - "numpy; sys_platform != "android" and not (sys_platform == "ios" and python_version >= "3.14")", + "numpy; sys_platform != 'android' and not (sys_platform == 'ios' and python_version >= '3.14')", "scipy; sys_platform != 'android' and sys_platform != 'ios'", ] From 64a6387b7cd63033767fc491c361070f50cb6ee0 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Fri, 22 Aug 2025 12:23:09 -0400 Subject: [PATCH 7/9] Update tests/pyproject.toml --- tests/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/pyproject.toml b/tests/pyproject.toml index 2b5c03f7e6..7eca908946 100644 --- a/tests/pyproject.toml +++ b/tests/pyproject.toml @@ -12,7 +12,7 @@ version = "0.0.1" dependencies = [ "pytest", "pytest-timeout", - "numpy; sys_platform != 'android' and not (sys_platform == 'ios' and python_version >= '3.14')", + "numpy; sys_platform != 'android' and (sys_platform != 'ios' or python_version < '3.14')", "scipy; sys_platform != 'android' and sys_platform != 'ios'", ] From d8c6fbb3d6f2e71c22c2d3f6162d83dd1bccf480 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Fri, 22 Aug 2025 12:51:59 -0400 Subject: [PATCH 8/9] Modify numpy dependency condition in pyproject.toml --- tests/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/pyproject.toml b/tests/pyproject.toml index 7eca908946..a64b33d6b0 100644 --- a/tests/pyproject.toml +++ b/tests/pyproject.toml @@ -12,7 +12,7 @@ version = "0.0.1" dependencies = [ "pytest", "pytest-timeout", - "numpy; sys_platform != 'android' and (sys_platform != 'ios' or python_version < '3.14')", + "numpy; sys_platform != 'android'", "scipy; sys_platform != 'android' and sys_platform != 'ios'", ] From ff7e1178884a0a3bb422e1c795e94d8af2b6d859 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Fri, 22 Aug 2025 14:37:00 -0400 Subject: [PATCH 9/9] Update dependencies in pyproject.toml --- tests/pyproject.toml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/pyproject.toml b/tests/pyproject.toml index a64b33d6b0..d759d0b519 100644 --- a/tests/pyproject.toml +++ b/tests/pyproject.toml @@ -12,8 +12,6 @@ version = "0.0.1" dependencies = [ "pytest", "pytest-timeout", - "numpy; sys_platform != 'android'", - "scipy; sys_platform != 'android' and sys_platform != 'ios'", ] @@ -32,4 +30,4 @@ environment.PIP_ONLY_BINARY = "numpy,scipy" environment.PIP_PREFER_BINARY = "1" android.environment.ANDROID_API_LEVEL = "24" # Needed to include libc++ in the wheel. ios.xbuild-tools = ["cmake", "ninja"] -ios.environment.PIP_EXTRA_INDEX_URL = "https://pypi.anaconda.org/beeware/simple" +pyodide.test-requires = ["numpy", "scipy"]