From e1f10b8280f9f37e0ff8abdd66b5eecb2012110e Mon Sep 17 00:00:00 2001 From: Silia Taider Date: Mon, 5 Oct 2026 10:02:47 +0200 Subject: [PATCH 1/3] [ci][wheels] Build Python wheels with C++20 --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 6d3e1174bf4b6..df140032cea9c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -66,6 +66,7 @@ asimage="ON" opengl="OFF" runtime_cxxmodules="OFF" fail-on-missing="ON" +CMAKE_CXX_STANDARD="20" # Prevent CMake from producing its own .dist-info metadata _wheel_build="ON" From 1b2a4bf2adb818a0afa21ef9218c70ab699e56e3 Mon Sep 17 00:00:00 2001 From: Silia Taider Date: Wed, 7 Oct 2026 10:14:05 +0200 Subject: [PATCH 2/3] [ci][wheels] Print tutorial output when a wheel test fails --- test/wheels/test_tutorials.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/wheels/test_tutorials.py b/test/wheels/test_tutorials.py index 4703ec5355fc0..d6b23f787abf7 100644 --- a/test/wheels/test_tutorials.py +++ b/test/wheels/test_tutorials.py @@ -75,6 +75,8 @@ def test_tutorial(tutorial): pytest.skip(f"Tutorial {tutorial} timed out") except subprocess.CalledProcessError as e: + print("Test stdout:", e.stdout) + print("Test stderr:", e.stderr) # read stderr to see if EOFError occurred if "EOFError" in e.stderr: pytest.skip(f"Skipping {tutorial.name} (requires user input)") @@ -118,6 +120,8 @@ def test_cpp_tutorial(tutorial): pytest.skip(f"Tutorial {tutorial} timed out") except subprocess.CalledProcessError as e: + print("Test stdout:", e.stdout) + print("Test stderr:", e.stderr) if e.returncode == -signal.SIGILL or e.returncode == 132: pytest.fail(f"Failing {tutorial.name} (illegal instruction on this platform)") elif "EOFError" in e.stderr: From 7bf083ec16f23a51cbff6e27f34c283269ac4e4f Mon Sep 17 00:00:00 2001 From: Silia Taider Date: Wed, 7 Oct 2026 18:29:02 +0200 Subject: [PATCH 3/3] [ci][wheels] Pin OpenSSL 3 --- pyproject.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index df140032cea9c..fc2218f220ac6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -115,3 +115,7 @@ manylinux-aarch64-image = "manylinux_2_28" repair-wheel-command = "auditwheel repair --disable-isa-ext-check -w {dest_dir} {wheel}" before-all = "dnf install -y epel-release && /usr/bin/crb enable && dnf install -y openssl-devel libX11-devel libXpm-devel libXft-devel libXext-devel libuuid-devel libjpeg-devel giflib-devel libtiff-devel" +[tool.cibuildwheel.macos] +# The macOS runner images now ship OpenSSL 4, which the builtin XRootD 5.9.x does not +# compile against, see https://github.com/actions/runner-images/issues/14856 +environment = "OPENSSL_ROOT_DIR=$(brew --prefix openssl@3)"