From 1071a869f21246253088037b5bdf2271bc5d725c Mon Sep 17 00:00:00 2001 From: mayeut Date: Sat, 22 Nov 2025 19:39:07 +0100 Subject: [PATCH 1/4] chore: run tests even with QEMU --- pyproject.toml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 58c10254..2165aac5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -149,12 +149,6 @@ inherit.config-settings = "append" # - ExportImport|RunCMake.install|RunCMake.file-GET_RUNTIME_DEPENDENCIES: c.f. https://discourse.cmake.org/t/cmake-test-suite-failing-on-alpine-linux/5064 config-settings."cmake.define.RUN_CMAKE_TEST_EXCLUDE" = "BootstrapTest|CTestTestFdSetSize|ExportImport|RunCMake.install|RunCMake.RuntimePath|RunCMake.file-GET_RUNTIME_DEPENDENCIES" -[[tool.cibuildwheel.overrides]] -select = ["*linux_ppc64le", "*linux_s390x", "*linux_riscv64"] -inherit.config-settings = "append" -# disable tests on those platforms, QEMU is taking to long for jobs to pass on GHA -config-settings."cmake.define.RUN_CMAKE_TEST" = "OFF" - [[tool.cibuildwheel.overrides]] select = ["*-musllinux_{ppc64le,s390x,riscv64}"] build-frontend = "pip" From 6385f0c26bcdf8e3f61d067371cdfb7b85cff063 Mon Sep 17 00:00:00 2001 From: mayeut Date: Sun, 23 Nov 2025 13:53:42 +0100 Subject: [PATCH 2/4] exclude test RunCMake.execute_process on ppc64le/s390x --- pyproject.toml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 2165aac5..2533f487 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -149,6 +149,22 @@ inherit.config-settings = "append" # - ExportImport|RunCMake.install|RunCMake.file-GET_RUNTIME_DEPENDENCIES: c.f. https://discourse.cmake.org/t/cmake-test-suite-failing-on-alpine-linux/5064 config-settings."cmake.define.RUN_CMAKE_TEST_EXCLUDE" = "BootstrapTest|CTestTestFdSetSize|ExportImport|RunCMake.install|RunCMake.RuntimePath|RunCMake.file-GET_RUNTIME_DEPENDENCIES" +[[tool.cibuildwheel.overrides]] +select = ["*-musllinux_ppc64le", "*-musllinux_s390x"] +inherit.config-settings = "append" +# disable some tests +# - BootstrapTest fails with custom OpenSSL and probably does not make much sense for this project +# - ExportImport|RunCMake.install|RunCMake.file-GET_RUNTIME_DEPENDENCIES: c.f. https://discourse.cmake.org/t/cmake-test-suite-failing-on-alpine-linux/5064 +# - RunCMake.execute_process fails because QEMU prints on stderr on SIGSEGV +config-settings."cmake.define.RUN_CMAKE_TEST_EXCLUDE" = "BootstrapTest|CTestTestFdSetSize|ExportImport|RunCMake.install|RunCMake.RuntimePath|RunCMake.file-GET_RUNTIME_DEPENDENCIES|RunCMake.execute_process" + +[[tool.cibuildwheel.overrides]] +select = ["*-manylinux_ppc64le", "*-manylinux_s390x"] +inherit.config-settings = "append" +# disable some tests +# - RunCMake.execute_process fails because QEMU prints on stderr on SIGSEGV +config-settings."cmake.define.RUN_CMAKE_TEST_EXCLUDE" = "RunCMake.execute_process" + [[tool.cibuildwheel.overrides]] select = ["*-musllinux_{ppc64le,s390x,riscv64}"] build-frontend = "pip" From 4577b5fdc9e958fd7669163b9ce96baf07adecf9 Mon Sep 17 00:00:00 2001 From: mayeut Date: Sun, 23 Nov 2025 15:34:26 +0100 Subject: [PATCH 3/4] always exclude BootstrapTest That's the default in CMakeLists.txt, need to set it when overriding. --- pyproject.toml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 2533f487..c648ce52 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -138,8 +138,9 @@ config-settings."cmake.define.CMAKE_JOB_POOLS" = "compile=4;link=1" select = ["*-manylinux_armv7l"] inherit.config-settings = "append" # disable some tests +# - BootstrapTest fails with custom OpenSSL and probably does not make much sense for this project # - RunCMake.CompilerId fails because architecture id is not detected properly for gfortran on Ubuntu 20.04 https://gitlab.kitware.com/cmake/cmake/-/issues/27129 -config-settings."cmake.define.RUN_CMAKE_TEST_EXCLUDE" = "RunCMake.CompilerId" +config-settings."cmake.define.RUN_CMAKE_TEST_EXCLUDE" = "BootstrapTest|RunCMake.CompilerId" [[tool.cibuildwheel.overrides]] select = ["*-musllinux_*"] @@ -162,8 +163,9 @@ config-settings."cmake.define.RUN_CMAKE_TEST_EXCLUDE" = "BootstrapTest|CTestTest select = ["*-manylinux_ppc64le", "*-manylinux_s390x"] inherit.config-settings = "append" # disable some tests +# - BootstrapTest fails with custom OpenSSL and probably does not make much sense for this project # - RunCMake.execute_process fails because QEMU prints on stderr on SIGSEGV -config-settings."cmake.define.RUN_CMAKE_TEST_EXCLUDE" = "RunCMake.execute_process" +config-settings."cmake.define.RUN_CMAKE_TEST_EXCLUDE" = "BootstrapTest|RunCMake.execute_process" [[tool.cibuildwheel.overrides]] select = ["*-musllinux_{ppc64le,s390x,riscv64}"] From 341ce7f692dd615788b5c7b4cd5180817c0f8f8f Mon Sep 17 00:00:00 2001 From: mayeut Date: Sun, 23 Nov 2025 16:59:19 +0100 Subject: [PATCH 4/4] run QEMU on aarch64 check if it's faster --- .github/workflows/build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 446bd2b8..e9e690a5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -55,22 +55,22 @@ jobs: - os: ubuntu-24.04-arm arch: "aarch64" build: "musllinux_" - - os: ubuntu-latest + - os: ubuntu-24.04-arm arch: "ppc64le" build: "manylinux_" - - os: ubuntu-latest + - os: ubuntu-24.04-arm arch: "ppc64le" build: "musllinux_" - - os: ubuntu-latest + - os: ubuntu-24.04-arm arch: "s390x" build: "manylinux_" - - os: ubuntu-latest + - os: ubuntu-24.04-arm arch: "s390x" build: "musllinux_" - - os: ubuntu-latest + - os: ubuntu-24.04-arm arch: "riscv64" build: "manylinux_" - - os: ubuntu-latest + - os: ubuntu-24.04-arm arch: "riscv64" build: "musllinux_" - os: ubuntu-24.04-arm