GraalPy issues
Description
I'm currently having trouble adding numpy wheels for testing:
[[tool.cibuildwheel.overrides]]
select = ["gp*"]
build-frontend = "build"
inherit.environment = "append"
environment.PIP_EXTRA_INDEX_URL = "https://www.graalvm.org/python/wheels/simple"
test-command = "pytest --benchmark-disable tests"
On macOS ARM and manylinux (I forgot to run Windows), I'm getting:
<frozen graalpy.pip_hook>:48: RuntimeWarning: You are using an untested version of pip. GraalPy provides patches and workarounds for a number of packages when used with compatible pip versions. We recommend to stick with the pip version that ships with this version of GraalPy.
WARNING: Disabling truststore because platform isn't supported
Looking in indexes: https://pypi.org/simple, https://www.graalvm.org/python/wheels/simple
Processing /tmp/cibuildwheel/repaired_wheel/boost_histogram-1.5.3.dev33+g8306c04-graalpy311-graalpy242_311_native-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
INFO: pip is looking at multiple versions of boost-histogram to determine which version is compatible with other requirements. This could take a while.
ERROR: Could not find a version that satisfies the requirement numpy (from boost-histogram) (from versions: none)
ERROR: No matching distribution found for numpy
CC @timfel
Edit: Ahh, for some reason, I can't add the /simple, even though it works on other indexes. If I leave that off, it downloads (and crashes in my tests, which is better and not cibuildwheel's fault)
Build log
https://github.com/scikit-hep/boost-histogram/actions/runs/15383816895/job/43278776994?pr=1016
CI config
https://github.com/scikit-hep/boost-histogram/pull/1016
On Windows, I get:
Notice: cibuildwheel: Disabling build isolation to workaround GraalPy bug. If the build fails, consider using pip or build[uv] as build frontend.
Then of course the build fails since it's downloading setuptools and wheel (which I thought we were supposed to have removed in 3.x), and not scikit-build-core. I'll switch to build[uv] then but now build is the default, making this pretty bad.
If the bug is something we could fix in build, I could do that.
cibuildwheel's macOS CircleCI tests segfaulted on GraalPy: https://app.circleci.com/pipelines/github/pypa/cibuildwheel/6573/workflows/a3fc1f5f-1b2e-4c1e-b1c2-f455302222c2/jobs/18094
Cirrus builds on Windows are failing atm.
https://cirrus-ci.com/task/5500867840835584?logs=run_cibuildwheel_tests#L775
I'm guessing it's due to a space at the end of the PATH variable-
https://cirrus-ci.com/task/5500867840835584?logs=run_cibuildwheel_tests#L550-L553
If the bug is something we could fix in build, I could do that.
The bug was on the GraalPy side, iirc, build uses virtualenv and then from that virtualenv environment something creates a venv environment, and that second-level environment was broken on GraalPy. It's fixed in our master, we are backporting this to the current version to go out with the next patch release.
I'm guessing it's due to a space at the end of the PATH variable-
Indeed ☹ I can fix this on master, but in the meantime the only workaround I can think of is to somehow preprocess the PATH environment variable to not have an invalid path segment in it
cibuildwheel's macOS CircleCI tests segfaulted on GraalPy
Will look into it