feat: option to build directly with uv (#2322)
* feat: option to build directly with uv Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> tests: add uv to tests Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> fix: uv doesn't pick special Pythons at the top of the path Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> fix: set uv build constraints too Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> fix: uv doesn't support PyPy 3.8 Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> tests: add pyproject.toml for failing test Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> Revert "tests: add pyproject.toml for failing test" This reverts commit 619bde368a67dfdd8f02dc33a1525c27bc8cbe91. tests: skip uv output test Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> * tests: uv was in the wrong fixture Signed-off-by: Henry Schreiner <henryfs@princeton.edu> * fix: from @trim21 Signed-off-by: Henry Schreiner <henryfs@princeton.edu> * tests: improve skipping Signed-off-by: Henry Schreiner <henryfs@princeton.edu> * fix: some fixes from copilot review Signed-off-by: Henry Schreiner <henryfs@princeton.edu> --------- Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> Signed-off-by: Henry Schreiner <henryfs@princeton.edu>
This commit is contained in:
+5
-3
@@ -163,7 +163,7 @@ def build_frontend_env_nouv(request: pytest.FixtureRequest) -> dict[str, str]:
|
||||
return {"CIBW_BUILD_FRONTEND": frontend}
|
||||
|
||||
|
||||
@pytest.fixture(params=["pip", "build", "build[uv]"])
|
||||
@pytest.fixture(params=["pip", "build", "build[uv]", "uv"])
|
||||
def build_frontend_env(request: pytest.FixtureRequest) -> dict[str, str]:
|
||||
frontend = request.param
|
||||
marks = {m.name for m in request.node.iter_markers()}
|
||||
@@ -178,10 +178,12 @@ def build_frontend_env(request: pytest.FixtureRequest) -> dict[str, str]:
|
||||
|
||||
if platform in {"pyodide", "ios", "android"} and frontend == "pip":
|
||||
pytest.skip(f"Can't use pip as build frontend for {platform}")
|
||||
if platform == "pyodide" and frontend == "build[uv]":
|
||||
if platform == "android" and frontend == "uv":
|
||||
pytest.skip(f"Can't use uv as build frontend for {platform}")
|
||||
if platform == "pyodide" and frontend in {"build[uv]", "uv"}:
|
||||
pytest.skip("Can't use uv with pyodide yet")
|
||||
uv_path = find_uv()
|
||||
if uv_path is None and frontend == "build[uv]":
|
||||
if uv_path is None and frontend in {"build[uv]", "uv"}:
|
||||
pytest.skip("Can't find uv, so skipping uv tests")
|
||||
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")
|
||||
|
||||
Reference in New Issue
Block a user