diff --git a/build/python_metadata.bzl b/build/python_metadata.bzl index 277203a3804..f148605ec04 100644 --- a/build/python_metadata.bzl +++ b/build/python_metadata.bzl @@ -86,6 +86,7 @@ def _make_bundle_version_info(versions): name = entry["name"] if name != "development": entry["id"] = _bundle_id(**entry) + entry["real_pyodide_version"] = entry["pyodide_version"] entry["feature_flags"] = [entry["flag"]] entry["feature_string_flags"] = [entry["enable_flag_name"]] if "packages" in entry: @@ -96,8 +97,8 @@ def _make_bundle_version_info(versions): dev = result["development"] - # Uncomment to test with development = 0.28.2 - # dev["real_pyodide_version"] = "0.28.2" + # Uncomment to test with development = 0.26.0a2 + # dev["real_pyodide_version"] = "0.26.0a2" result["development"] = result[dev["real_pyodide_version"]] | dev _check_pyodide_versions(result) return result @@ -188,7 +189,7 @@ BUNDLE_VERSION_INFO = _make_bundle_version_info([ ], }, { - "real_pyodide_version": "0.26.0a2", + "real_pyodide_version": "0.28.2", "name": "development", "pyodide_version": "dev", "pyodide_date": "dev", diff --git a/src/pyodide/helpers.bzl b/src/pyodide/helpers.bzl index f98df63cf46..e38ba46dec3 100644 --- a/src/pyodide/helpers.bzl +++ b/src/pyodide/helpers.bzl @@ -46,10 +46,12 @@ def _fmt_python_snapshot_release( backport, baseline_snapshot_hash, flag, + real_pyodide_version, **_kwds): content = ", ".join( [ 'pyodide = "%s"' % pyodide_version, + 'realPyodideVersion = "%s"' % real_pyodide_version, 'pyodideRevision = "%s"' % pyodide_date, 'packages = "%s"' % packages, "backport = %s" % backport, diff --git a/src/pyodide/pyodide_extra.capnp b/src/pyodide/pyodide_extra.capnp index fb1cba3f0d4..afe1517d663 100644 --- a/src/pyodide/pyodide_extra.capnp +++ b/src/pyodide/pyodide_extra.capnp @@ -38,6 +38,7 @@ struct PythonSnapshotRelease @0x89c66fb883cb6975 { fieldName @5 :Text; # Name of the corresponding feature flag flagName @6 :Text; + realPyodideVersion @7 :Text; } const releases :List(PythonSnapshotRelease) = [ diff --git a/src/workerd/server/tests/python/import_tests.bzl b/src/workerd/server/tests/python/import_tests.bzl index e9c4f6944ab..cd214f1ed9f 100644 --- a/src/workerd/server/tests/python/import_tests.bzl +++ b/src/workerd/server/tests/python/import_tests.bzl @@ -54,6 +54,8 @@ def _test(name, directory, wd_test, py_file, python_version, **kwds): def _gen_import_tests(to_test, python_version, pkg_skip_versions): for lib in to_test.keys(): skip_python_flags = [version for version, packages in pkg_skip_versions.items() if lib in packages] + if BUNDLE_VERSION_INFO["development"]["real_pyodide_version"] in skip_python_flags: + skip_python_flags.append("development") if lib.endswith("-tests"): # TODO: The pyodide-build-scripts should be updated to not emit these packages. Once # that's done we can remove this check. @@ -99,7 +101,8 @@ def _pkg_permutations(lst): return _rotations(lst) + _rotations(reversed(lst)) def _gen_rust_import_tests(python_version): - if python_version in ["0.26.0a2", "development"]: + pyodide_version = BUNDLE_VERSION_INFO[python_version]["real_pyodide_version"] + if pyodide_version == "0.26.0a2": pkgs = _rotations(["tiktoken", "pydantic"]) else: pkgs = _pkg_permutations(["cryptography", "jiter", "tiktoken", "pydantic"])