Debug GraalPy/uv test failures on Windows (#2741)

* Dont attempt uv frontend tests on gp311.

* docs: note GraalPy 3.11 incompatibility with uv on Windows (#2751)

* Initial plan

* docs: note GraalPy311 incompatibility with uv/build[uv] on Windows

Co-authored-by: joerick <1244307+joerick@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: joerick <1244307+joerick@users.noreply.github.com>

* Skip both graalpy with uv for now

* Docs updates

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: joerick <1244307+joerick@users.noreply.github.com>
This commit is contained in:
Joe Rickerby
2026-03-02 11:24:40 +00:00
committed by GitHub
co-authored by joerick copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Copilot
parent 0a85e29549
commit b70562f37a
3 changed files with 23 additions and 3 deletions
+13 -2
View File
@@ -13,6 +13,7 @@ from cibuildwheel.selector import EnableGroup
from cibuildwheel.typing import PLATFORMS
from cibuildwheel.venv import find_uv
from . import utils
from .utils import DEFAULT_CIBW_ENABLE, EMULATED_ARCHS, get_platform
@@ -164,7 +165,7 @@ def build_frontend_env_nouv(request: pytest.FixtureRequest) -> dict[str, str]:
@pytest.fixture(params=["pip", "build", "build[uv]", "uv"])
def build_frontend_env(request: pytest.FixtureRequest) -> dict[str, str]:
def build_frontend_env(request: pytest.FixtureRequest) -> Generator[dict[str, str], None, None]:
frontend = request.param
marks = {m.name for m in request.node.iter_markers()}
if "android" in marks:
@@ -186,7 +187,17 @@ def build_frontend_env(request: pytest.FixtureRequest) -> dict[str, str]:
if uv_path is not None and frontend == "build" and platform not in {"android", "ios"}:
pytest.skip("No need to check build when uv is present")
return {"CIBW_BUILD_FRONTEND": frontend}
# temporary workaround: uv doesn't work with graalpy yet
uses_uv = "uv" in frontend
env: dict[str, str] = {"CIBW_BUILD_FRONTEND": frontend}
if uses_uv:
utils.include_graalpy_in_expected_wheels = False
env["CIBW_SKIP"] = "gp*" # skip graalpy when using uv, until uv supports it
try:
yield env
finally:
if uses_uv:
utils.include_graalpy_in_expected_wheels = True
@pytest.fixture