Update to Pyodide 314.0.0 (#2906)
* Update to Pyodide 314.0.0 * Update selector * Update tests * Use v2 xbuildenvs endpoint * Update pyodide-build in constraints * Add comment about `test_build_filter_pyodide_prerelease`
This commit is contained in:
@@ -49,10 +49,10 @@ def test_abi3(tmp_path: Path) -> None:
|
||||
project_dir,
|
||||
add_env={
|
||||
# free_threaded, GraalPy, and PyPy do not have a Py_LIMITED_API equivalent, just build one of those
|
||||
# pyodide uses cp313 (the stable version) which supports limited API / abi3
|
||||
# pyodide uses cp314 (the latest stable version) which supports limited API / abi3
|
||||
# also limit the number of builds for test performance reasons
|
||||
"CIBW_BUILD": (
|
||||
"cp313-*"
|
||||
"cp314-*"
|
||||
if utils.get_platform() == "pyodide"
|
||||
else "cp39-* cp310-* pp310-* gp312_250-* cp312-* cp314t-*"
|
||||
),
|
||||
|
||||
@@ -87,13 +87,13 @@ def get_versions_from_constraint_file(constraint_file: Path) -> dict[str, str]:
|
||||
return result
|
||||
|
||||
|
||||
@pytest.mark.parametrize("python_version", ["3.9", "3.13"])
|
||||
@pytest.mark.parametrize("python_version", ["3.9", "3.14"])
|
||||
def test_pinned_versions(
|
||||
tmp_path: Path, python_version: str, build_frontend_env_nouv: dict[str, str]
|
||||
) -> None:
|
||||
if utils.get_platform() == "linux":
|
||||
pytest.skip("linux doesn't pin individual tool versions, it pins manylinux images instead")
|
||||
if python_version != "3.13" and utils.get_platform() == "pyodide":
|
||||
if python_version != "3.14" and utils.get_platform() == "pyodide":
|
||||
pytest.skip(f"pyodide does not support Python {python_version}")
|
||||
|
||||
project_dir = tmp_path / "project"
|
||||
|
||||
@@ -175,6 +175,6 @@ def test_pyodide_repair_wheel(tmp_path: Path) -> None:
|
||||
|
||||
# check that the expected wheels are produced
|
||||
expected_wheels = [
|
||||
"spam-0.1.0-cp313-cp313-pyemscripten_2025_0_wasm32.whl",
|
||||
"spam-0.1.0-cp314-cp314-pyemscripten_2026_0_wasm32.whl",
|
||||
]
|
||||
assert set(actual_wheels) == set(expected_wheels)
|
||||
|
||||
+6
-6
@@ -31,7 +31,7 @@ EMULATED_ARCHS: Final[list[str]] = sorted(
|
||||
PYPY_ARCHS = ["x86_64", "i686", "AMD64", "aarch64", "arm64"]
|
||||
GRAALPY_ARCHS = ["x86_64", "AMD64", "aarch64", "arm64"]
|
||||
|
||||
SINGLE_PYTHON_VERSION: Final[tuple[int, int]] = (3, 13)
|
||||
SINGLE_PYTHON_VERSION: Final[tuple[int, int]] = (3, 14)
|
||||
|
||||
# temporary workaround: set by build_frontend_env fixture to skip graalpy
|
||||
# when uv is the build frontend (compatibility issue between graalpy and uv)
|
||||
@@ -278,9 +278,9 @@ def _expected_wheels(
|
||||
|
||||
# To be kept in sync with Python versions for Pyodide identifiers in cibuildwheel/selector.py.
|
||||
if platform == "pyodide" and python_abi_tags is None:
|
||||
python_abi_tags = ["cp313-cp313"]
|
||||
if EnableGroup.PyodidePrerelease in enable_groups:
|
||||
python_abi_tags.append("cp314-cp314")
|
||||
python_abi_tags = ["cp313-cp313", "cp314-cp314"]
|
||||
if EnableGroup.PyodideEoL in enable_groups:
|
||||
python_abi_tags.insert(0, "cp312-cp312")
|
||||
elif (platform == "android" and python_abi_tags is None) or (
|
||||
platform == "ios" and python_abi_tags is None
|
||||
):
|
||||
@@ -414,8 +414,8 @@ def _expected_wheels(
|
||||
|
||||
if not platform_tags:
|
||||
# for example if the python tag is `none` or `abi3`, the wheel
|
||||
# is built by the stable cp313 Python version
|
||||
platform_tags = ["pyemscripten_2025_0_wasm32"]
|
||||
# is built by the latest stable cp314 Python version
|
||||
platform_tags = ["pyemscripten_2026_0_wasm32"]
|
||||
|
||||
else:
|
||||
msg = f"Unsupported platform {platform!r}"
|
||||
|
||||
Reference in New Issue
Block a user