diff --git a/CHANGELOG.md b/CHANGELOG.md index b36ceafa27..2e363888cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -60,17 +60,27 @@ END_UNRELEASED_TEMPLATE * (gazelle) Types for exposed members of `python.ParserOutput` are now all public. * (gazelle) Removed the requirement for `__init__.py`, `__main__.py`, or `__test__.py` files to be present in a directory to generate a `BUILD.bazel` file. -* (toolchain) Updated the following toolchains to build 20250708 to patch CVE-2025-47273: +* (toolchain) Updated the following toolchains to build [20250723] to patch CVE-2025-47273: * 3.9.23 * 3.10.18 * 3.11.13 * 3.12.11 - * 3.14.0b4 + * 3.14.0rc1 * (toolchain) Python 3.13 now references 3.13.5 * (gazelle) Switched back to smacker/go-tree-sitter, fixing [#2630](https://github.com/bazel-contrib/rules_python/issues/2630) * (ci) We are now testing on Ubuntu 22.04 for RBE and non-RBE configurations. -* (core) #!/usr/bin/env bash is now used as a shebang in the stage1 bootstrap template. +* (core) `#!/usr/bin/env bash` is now used as a shebang in the stage1 bootstrap template. +* If using the (deprecated) autodetecting/runtime_env toolchain, then the Python + version specified at build-time *must* match the Python version used at + runtime (the {obj}`--@rules_python//python/config_settings:python_version` + flag and the {attr}`python_version` attribute control the build-time version + for a target). If they don't match, dependencies won't be importable. (Such a + misconfiguration was unlikely to work to begin with; this is called out as an + FYI). +* (rules) {obj}`--bootstrap_impl=script` is the default for non-Windows. + +[20250723]: https://github.com/astral-sh/python-build-standalone/releases/tag/20250723 {#v0-0-0-fixed} ### Fixed @@ -108,7 +118,7 @@ END_UNRELEASED_TEMPLATE * 3.11.13 * 3.12.11 * 3.13.5 - * 3.14.0b4 + * 3.14.0rc1 * (gazelle): New annotation `gazelle:include_pytest_conftest`. When not set (the default) or `true`, gazelle will inject any `conftest.py` file found in the same directory as a {obj}`py_test` target to that {obj}`py_test` target's `deps`. diff --git a/docs/api/rules_python/python/config_settings/index.md b/docs/api/rules_python/python/config_settings/index.md index 989ebf1128..3ad4ae6705 100644 --- a/docs/api/rules_python/python/config_settings/index.md +++ b/docs/api/rules_python/python/config_settings/index.md @@ -245,8 +245,12 @@ Values: ::::{bzl:flag} bootstrap_impl Determine how programs implement their startup process. +The default for this depends on the platform: +* Windows: `system_python` (**always** used) +* Other: `script` + Values: -* `system_python`: (default) Use a bootstrap that requires a system Python available +* `system_python`: Use a bootstrap that requires a system Python available in order to start programs. This requires {obj}`PyRuntimeInfo.bootstrap_template` to be a Python program. * `script`: Use a bootstrap that uses an arbitrary executable script (usually a @@ -269,6 +273,11 @@ instead. :::{versionadded} 0.33.0 ::: +:::{versionchanged} VERSION_NEXT_FEATURE +* The default for non-Windows changed from `system_python` to `script`. +* On Windows, the value is forced to `system_python`. +::: + :::: ::::{bzl:flag} current_config diff --git a/python/config_settings/BUILD.bazel b/python/config_settings/BUILD.bazel index 82a73cee6c..b59feb4189 100644 --- a/python/config_settings/BUILD.bazel +++ b/python/config_settings/BUILD.bazel @@ -90,7 +90,7 @@ string_flag( rp_string_flag( name = "bootstrap_impl", - build_setting_default = BootstrapImplFlag.SYSTEM_PYTHON, + build_setting_default = BootstrapImplFlag.SCRIPT, override = select({ # Windows doesn't yet support bootstrap=script, so force disable it ":_is_windows": BootstrapImplFlag.SYSTEM_PYTHON, diff --git a/python/versions.bzl b/python/versions.bzl index 3f9d6c57a8..56e2c3662c 100644 --- a/python/versions.bzl +++ b/python/versions.bzl @@ -190,17 +190,17 @@ TOOL_VERSIONS = { "strip_prefix": "python", }, "3.9.23": { - "url": "20250708/cpython-{python_version}+20250708-{platform}-{build}.tar.gz", + "url": "20250723/cpython-{python_version}+20250723-{platform}-{build}.tar.gz", "sha256": { - "aarch64-apple-darwin": "e7653969f362c099158f4bd8daa06a7545871a1f50b7c088ac875c46e68481cc", - "aarch64-unknown-linux-gnu": "b6d1bb94972d79d21661d821621edd23be6e7fad258f394a895b392282eef71a", - "ppc64le-unknown-linux-gnu": "b90457324ab106fc5146388e418d08502bb1393c2bec25f15bc5cc2497b13fd2", - "riscv64-unknown-linux-gnu": "00a2e2e031f80731e5d812de62a66ff577692ec555c1e9b5798a448ae3671f81", - "s390x-unknown-linux-gnu": "6b1c749813d251460a7a2c0b5bc751cd6f25f82a1b31a01c3efbc5cbece7c55c", - "x86_64-apple-darwin": "cdb39a635a0b8e4487555935fecdbb6f6eaab9706e0e71a0cf61a5728b6b3819", - "x86_64-pc-windows-msvc": "94925d6fafa4d823336081f77f38912f9a6e76c27243e656a90d7480f8c5eceb", - "x86_64-unknown-linux-gnu": "a11d8d52587db34f370a2f56d7310b727de180973653d865f097b7880ead3e2d", - "x86_64-unknown-linux-musl": "dfdfbf35bf9d087398b6b9c5627f86d5921c4a9284cfeeef48e3f2980b4ad762", + "aarch64-apple-darwin": "98c368cf68a05070b72021dabe990a74f8532ae8f84a505c89d07a76c577422a", + "aarch64-unknown-linux-gnu": "c2e564c2c3043e08a3441cc0ac7a318c8e5283e5f3c261d1e97e5504563b2ba6", + "ppc64le-unknown-linux-gnu": "e3c389e442ed48bc6f147a946e36bbc283ce5fe4a7c23c842bb282e44183d3bd", + "riscv64-unknown-linux-gnu": "84d8571da04d7a15e9b5783e0a6989a1f5798dddbdbd38edf4ed3e031906179a", + "s390x-unknown-linux-gnu": "28892b8cf7a8d87669977f0d3d0986ba85e64bf4e38bddbd90b1fd3783852ae9", + "x86_64-apple-darwin": "a6e0b1440b3fd370f16855df1f2dc0bb5d9e534e1179ecd97dada2c0ff3cd4fd", + "x86_64-pc-windows-msvc": "093ee21cdb8f9eaf4b6b80eeb7ea1487176336ca6b32c632d8dec3a4dca5c038", + "x86_64-unknown-linux-gnu": "6d88402fad20464ad3ff5b1c5920487a061b8f0187f048a5bac1ccd313b20c6b", + "x86_64-unknown-linux-musl": "5d21ba6b22be58a2baf93dc00d96a1b56bf58ed8442b045efcb1c11de458240c", }, "strip_prefix": "python", }, @@ -340,17 +340,17 @@ TOOL_VERSIONS = { "strip_prefix": "python", }, "3.10.18": { - "url": "20250708/cpython-{python_version}+20250708-{platform}-{build}.tar.gz", + "url": "20250723/cpython-{python_version}+20250723-{platform}-{build}.tar.gz", "sha256": { - "aarch64-apple-darwin": "8b70988e7d7d930e18179f0c464b5a1fb595b64c7a282b78c5e8ff2c8fcc51f2", - "aarch64-unknown-linux-gnu": "eda9db45b2f1e4987559f7026fc655a8521d8974a6ae3a53b3d61e3f59dd0938", - "ppc64le-unknown-linux-gnu": "f247afed2d72cff4b3e5723f345ae4c07fd115985c188217a47c18e1249fed9a", - "riscv64-unknown-linux-gnu": "af2f9a619f2343627488e64428cd348d127e02723c53dd052eb66c6e8cebbf1d", - "s390x-unknown-linux-gnu": "e8db7743627e60ffcec4e1ac1e3098718f6e7aa52731e0d6b9b2856f90a7c338", - "x86_64-apple-darwin": "af2b6fb02e8f9a266c4ed5b173634c8bcfa38d6b282ecdfa137faec555eea971", - "x86_64-pc-windows-msvc": "841ca8f71be9a01bdf6c72e5fe8bee1a4988f8637ead801d6be095f5bedce0f5", - "x86_64-unknown-linux-gnu": "17476eee3a20d06dd4cd58594cedc4badfa29984ae727ff1df119ec8e206ab35", - "x86_64-unknown-linux-musl": "3b38bfa0ecce16b2f987a26602e05e332acec1864a6cc4b4753bdaaf12ce08ac", + "aarch64-apple-darwin": "11ff3525bf15fd5ad8aec7a00fd3c6351e44d7ff0d35d43ac9cbdd57c865b19c", + "aarch64-unknown-linux-gnu": "89e3adab7931b1a25ca848264e34b41e8f9f05fc8fe2ad3c4a7d9ab1ff75db3d", + "ppc64le-unknown-linux-gnu": "efb6aa5edc0cffb1ad049fd55f059494b96979637348f12fac7f3e48d0f6c4a0", + "riscv64-unknown-linux-gnu": "d827baa855e4eac8f127531baab754f44f74c5c2df14c7e42c8579d2974fa81c", + "s390x-unknown-linux-gnu": "dbc44907d9977686e62712051628248ec1e9e4ae04b8efa1ae35c4dd14baa768", + "x86_64-apple-darwin": "22f56e0135be75e14e1508b8c9d144cce6766e46344a0d50a198757fca176f7d", + "x86_64-pc-windows-msvc": "5be6d80ea9d6aed69dfeb5ca3ff7e0ecb7976c5fc8525b183b0b1ef7d74fad1a", + "x86_64-unknown-linux-gnu": "3d725d40dbd4cabfc84fadeade3acc2fcacd9cd7caad7aeba5c3a195b45d6cc2", + "x86_64-unknown-linux-musl": "1b7f00c4e3cb5f546f0c53ca0e8ce8cc5a6f1058d3097e6026e3c040a40685b0", }, "strip_prefix": "python", }, @@ -470,18 +470,18 @@ TOOL_VERSIONS = { "strip_prefix": "python", }, "3.11.13": { - "url": "20250708/cpython-{python_version}+20250708-{platform}-{build}.tar.gz", + "url": "20250723/cpython-{python_version}+20250723-{platform}-{build}.tar.gz", "sha256": { - "aarch64-apple-darwin": "baec549f2f9367993731d15f9bbed81394c381f8d66bacdee7d448e3a8adaa3b", - "aarch64-unknown-linux-gnu": "b0c5cc99ec81301c24872ff3f180d8e6828a7c2bde3ea5e7b06f71cbb4833293", - "ppc64le-unknown-linux-gnu": "34c9754e6a383ecc36e73ade5374bbc62ade75029efd0aa4651af5bc555984a0", - "riscv64-unknown-linux-gnu": "52e6d43ebfccf5fe7be3b819dc3193941116b1360e74cd3a3a8c568ce5d165c2", - "s390x-unknown-linux-gnu": "f309f3d994465f86d38b383b2d28e9c3e1eb09cffa9b4ca598eee68fd4bc7bbb", - "x86_64-apple-darwin": "34c386610791305b04f4f6bc13396453cbf95b9df7d12aaa03e81f5f86ae6e37", - "x86_64-pc-windows-msvc": "551ca09ea10e3e98fadc1ba63a4c486527d11eabc7345956238a3b4998e8a840", - "aarch64-pc-windows-msvc": "e1f0e3eeb2566d5ec7b234f4ecb46a739d17d0bb73cdd72b37cc06bd21f0d555", - "x86_64-unknown-linux-gnu": "a90c03e8d8128058d6680fa3edee4afb8c4ee3a863455d367b3f70a300c1b862", - "x86_64-unknown-linux-musl": "6f73c6887f1f308ee4088ccd86453df69c2c7bbef1f5c619764a0efc492b75e3", + "aarch64-apple-darwin": "2e68e228469a2f006a4f68e07e17ce251338ccdb848340152f3473d0eb158489", + "aarch64-unknown-linux-gnu": "8d1addbd90e9a7c48fc23151834c4af4c64f77a94e9a35ca17b09d484d9208af", + "ppc64le-unknown-linux-gnu": "7dff903082856f2d1b6ba4332a7766e69a09a0058d7e667dd05686176e4f974a", + "riscv64-unknown-linux-gnu": "ec8a0dbe7a5adc08764197ead1240eafb3a2e776bd5f19242662435f187570ae", + "s390x-unknown-linux-gnu": "1b8071515f7bf6763f6bd5c02d13feb1fdebae5de49573dfc02597ae4cf5902e", + "x86_64-apple-darwin": "c27ec8d445a806496d9204d84e781d0ef81d7abbad4a49676a38b140f7a0515a", + "x86_64-pc-windows-msvc": "d6b1931efac5b75daca11563f88f22a3791437c6424f0300cc2c37ad78512e1c", + "aarch64-pc-windows-msvc": "db65e52576dc50344c3f78045dce0d650a1bfe003ba802ae44ad0c2b6b75faa1", + "x86_64-unknown-linux-gnu": "71c0eb7f5025e2cde7a473b724e2959041fdba243ea58bea71ea2e3455107ea2", + "x86_64-unknown-linux-musl": "173a5a279df3c0667277af85b20d55294bbf7ded866e75ef98a9b1a360221d70", }, "strip_prefix": "python", }, @@ -594,18 +594,18 @@ TOOL_VERSIONS = { "strip_prefix": "python", }, "3.12.11": { - "url": "20250708/cpython-{python_version}+20250708-{platform}-{build}.tar.gz", + "url": "20250723/cpython-{python_version}+20250723-{platform}-{build}.tar.gz", "sha256": { - "aarch64-apple-darwin": "d1e426dd70d4cef0344c838e84924b6901bdb25e06d8b5235ce94fe6d5e9f798", - "aarch64-unknown-linux-gnu": "415105aee82617f1ecf88d1f594eb5209f34109d90aeae860bc36f3a05a97dcd", - "aarch64-pc-windows-msvc": "83c655cb0b9805bbfd6062535329440e9635ff45b9f2d584df9de99635aaa6ed", - "ppc64le-unknown-linux-gnu": "b4dd82d30e9357a355f1e9d7960e2714d7b6c6eb95d5cabcd5afc33abb6ed0df", - "riscv64-unknown-linux-gnu": "3d220cdfa2fda11223b7c9f4f0d03a2b0d6f5d752544d08766d3450579cda490", - "s390x-unknown-linux-gnu": "5def9e4c9b00560d38120584b8878f30722ba50d7e26ca7b339ee7bea5e87709", - "x86_64-apple-darwin": "e5d587c50fdc7a872a32341fc47c710a0653d5269f7fd5bcf0dbc8d2330d4525", - "x86_64-pc-windows-msvc": "92fded0d45537d707c67904577af32cef16e6d69c94fea1da7b24da8b75629a2", - "x86_64-unknown-linux-gnu": "3b7802c8d99e9b3efd1e97de4155d0391e464b0ebd92233ede114f3b8a93bc7d", - "x86_64-unknown-linux-musl": "cb8f825d30dd6864a179fbd34b1592325bdcc2b211c01f94d7ed5f0fd790c3fb", + "aarch64-apple-darwin": "141272e6c6ae945b61fcf4073b7419451f8227187b3667b01ea9ec8993e0d7e9", + "aarch64-unknown-linux-gnu": "6344f857fab8453423cf0471a9bd1e74393947c9e3d59919d78eebc4c7eb8590", + "aarch64-pc-windows-msvc": "3a7965165a8eabd1eebdbe6427ef9d2580fe41cdac5eb0930527ddea280f5414", + "ppc64le-unknown-linux-gnu": "c5e59d368c557272778973f42a21292a780a1c82a3d4faf6a4f89dba0d562bb6", + "riscv64-unknown-linux-gnu": "9c0254f7c46658bf9e709a8e5347fee2d96a176c1de53226ad0682e01098f354", + "s390x-unknown-linux-gnu": "f680aa3db4c74a9d48e6412fea7990566f9671cac447c375e9452ec9cec4029c", + "x86_64-apple-darwin": "1f152ee0dcc6ac5db93e39d74f0c50e319863d65fea0aab04e2e1b3f49b87f5f", + "x86_64-pc-windows-msvc": "14be5b19f1004d65fb1e9fe9152a857af7d36c7f471dd5e2c10bf7f58f6c1838", + "x86_64-unknown-linux-gnu": "e5e828ba2c1a55400cdb07ff5f052908c46d5deb4f62d8b5825f8c24aeffcccb", + "x86_64-unknown-linux-musl": "7d93531f353629232891e4b4c0fd229179a460f6f71bbb5e8c6db955cbda1953", }, "strip_prefix": "python", }, @@ -766,27 +766,27 @@ TOOL_VERSIONS = { }, }, "3.13.5": { - "url": "20250708/cpython-{python_version}+20250708-{platform}-{build}.{ext}", + "url": "20250723/cpython-{python_version}+20250723-{platform}-{build}.{ext}", "sha256": { - "aarch64-apple-darwin": "ac3708b0e11c9377210961ccfa7c9c497564723c2ceec09e1a96b43c4bb12c2c", - "aarch64-unknown-linux-gnu": "2c7ba8fb7311ab724e6176916cd6426b6517ca4d6b40b5e939b9fcefca72f888", - "ppc64le-unknown-linux-gnu": "3ae74c7a74d8d79c022e15bd9796c3b0a627b1a4a6c94f59b9f14b3e1b084c97", - "riscv64-unknown-linux-gnu": "01410a477681839a2c567bd17b6080937303fac3f8cc386650386862d5bc37b6", - "s390x-unknown-linux-gnu": "48c9e779826d25327f5a05b25be49da375538367e44c8a43bca3404c665f3138", - "x86_64-apple-darwin": "d8673b4616d19b75f15499d50a585eeb332ff47fad6387d88546f9b0515d7744", - "x86_64-pc-windows-msvc": "5a9a699c5314b9681d585c05d91bfa2e8cec79225e76abad0f3a8f9c6d7f014e", - "aarch64-pc-windows-msvc": "7510a28230535a1547edef9f15912cbd16574ec814ede20ae19a6d5b2ecb7a26", - "aarch64-pc-windows-msvc-freethreaded": "accb608c75ba9d6487fa3c611e1b8038873675cb058423a23fa7e30fc849cf69", - "x86_64-unknown-linux-gnu": "5b16ef64075d941933acf4e4ada7b0c7d5925ce5a2e053e905b5c148ada1bdfe", - "x86_64-unknown-linux-musl": "79f38f297eb91aca4ef165fa66ae91ca5d53f60db942658a877a71c9d8be5cb5", - "aarch64-apple-darwin-freethreaded": "b7764ec1b41a7018c67c83ce3c98f47b0eeac9c4039f3cd50b5bcde4e86bde96", - "aarch64-unknown-linux-gnu-freethreaded": "ced03b7ba62d2864df87ae86ecc50512fbfed66897602ae6f7aacbfb8d7eab38", - "ppc64le-unknown-linux-gnu-freethreaded": "9c943e130a9893c9f6f375c02b34c0b7e62d186d283fc7950d0ee20d7e2f6821", - "riscv64-unknown-linux-gnu-freethreaded": "8075ed7b5f8c8a7c7c65563d2a1d5c20622a46416fb2e5b8d746592527472ea7", - "s390x-unknown-linux-gnu-freethreaded": "a8dbcbe79f7603d82a3640dfd05f9dbff07264f14a6a9a616d277f19d113222c", - "x86_64-apple-darwin-freethreaded": "f15f0700b64fb3475c4dcc2a41540b47857da0c777544c10eb510f71f552e8ec", - "x86_64-pc-windows-msvc-freethreaded": "75acd65c9a44afae432abfd83db648256ac89122f31e21a59310b0c373b147f1", - "x86_64-unknown-linux-gnu-freethreaded": "e21a8d49749ffd40a439349f62fc59cb9e6424a22b40da0242bb8af6e964ba04", + "aarch64-apple-darwin": "734c2f197cf2464d18308458c32679f38f22f31a911f86193e0f04dd56400f33", + "aarch64-unknown-linux-gnu": "a6f558daf7d4e0e7017ad827a4f6bcc9e8fc4be0e42ddbbb3d13540c7a58d829", + "ppc64le-unknown-linux-gnu": "6b2dc8b8dd2e8762aafcc7e99be461813256e56bacd8985b2cd89be115f86aff", + "riscv64-unknown-linux-gnu": "d3c4823379104fd032a7a45611e93b8e317a07e4dabe957fae54129c530924f2", + "s390x-unknown-linux-gnu": "c99396b48f22ee64499790f98a93b24bf1bd2a385844f57831d3266f8ffefeb4", + "x86_64-apple-darwin": "6b508822f5238451a5dcc52f07310b74aaa701ed963bba923cc7f4d24010cc21", + "x86_64-pc-windows-msvc": "191aaa9c725afad7570d24940268038823df7d14e0afbd25d1e23af0b99190a7", + "aarch64-pc-windows-msvc": "4c2a578f472ec4bb34289b4afc5b930f97224b8cb351c9fa3722b8d736895ca3", + "aarch64-pc-windows-msvc-freethreaded": "cc39b7f33e78c737071935d551660d795ac6a2e27101b61b527174b853f8119a", + "x86_64-unknown-linux-gnu": "56bf8099cfcc3aac8dadcf2be53c48e5998d74cf5da600691dbf16be3f0b8f76", + "x86_64-unknown-linux-musl": "996bc0e39c4f734757c973ffbb01c258651b9b03feebbc1199fb293e8fbabda8", + "aarch64-apple-darwin-freethreaded": "e6866eaa226227ff64ac0b200d6cda2c1efca3ef25c9950ee11725d22d73fff7", + "aarch64-unknown-linux-gnu-freethreaded": "66c221e2f846e75a9191534a4228063047178ddbf808be5df25dbac6d823598a", + "ppc64le-unknown-linux-gnu-freethreaded": "f80e45db9796339a1253cd5361c64c6d59dabc49d00aefad4f42bc7b8975f9d2", + "riscv64-unknown-linux-gnu-freethreaded": "681ec3b7068207bb2c1bf8af77772378eed685649e4befab17040680ea6defba", + "s390x-unknown-linux-gnu-freethreaded": "66cfa0cf73a7467525b7c193b7045ef88b2ca73ce4c91a58751a3fd67bca44bf", + "x86_64-apple-darwin-freethreaded": "606bcff8b3eadaa4d328b700ad2c3e4d44924b24eb833a85b23d7e425735fc1b", + "x86_64-pc-windows-msvc-freethreaded": "6881d375ea3936f9d47fa6c36a7f8d3b53eac36e5dc78da110f646d8aaef86d0", + "x86_64-unknown-linux-gnu-freethreaded": "f79ae7403bcfb36a1e7123707a4513e084f84a9e85a0e24186936a6e95e4f661", }, "strip_prefix": { "aarch64-apple-darwin": "python", @@ -810,28 +810,28 @@ TOOL_VERSIONS = { "x86_64-unknown-linux-gnu-freethreaded": "python/install", }, }, - "3.14.0b4": { - "url": "20250708/cpython-{python_version}+20250708-{platform}-{build}.{ext}", + "3.14.0rc1": { + "url": "20250723/cpython-{python_version}+20250723-{platform}-{build}.{ext}", "sha256": { - "aarch64-apple-darwin": "fe6b2f1f2a7423d277d2ac247d8273fa52f82465a86d37835edfdd540835b2c9", - "aarch64-unknown-linux-gnu": "0320067c5d6bcb3fe7d5dee966021a680e7d8ffaa51300e25825b6d431fd7796", - "ppc64le-unknown-linux-gnu": "4b6cb9b78299f30aa07c62cb081a016df7ac2f77bbee00959bfa1d1a073c7728", - "riscv64-unknown-linux-gnu": "6974cbba97be68fbf05735692950203292997308a2595a167f34a168e5dfbd4a", - "s390x-unknown-linux-gnu": "51fd4370e40af33e891dd221a82e249aed7b080ef48948933cc9252b423f7c3d", - "x86_64-apple-darwin": "a5567f7efde6d70a7be518991e0968683cef64672778015b2203dca96e3e8d17", - "x86_64-pc-windows-msvc": "909664ce85ce6c3d5deeb8451242458e7c53d6c3a604c098386036c20d56f8c7", - "aarch64-pc-windows-msvc": "21017616e457d164b7262c0bf39794d5726c666b9482b152b664ae772bb8e9c6", - "x86_64-unknown-linux-gnu": "f029f9fa03cf1a2147dd03c043da033373300a3c6c38a97661641d2b45e18368", - "x86_64-unknown-linux-musl": "61af21a536f32b0bb88d5983262a8101498f7d573142db93abe2def013f17634", - "aarch64-apple-darwin-freethreaded": "f4a28e1d77003d6cd955f2a436a244ec03bb64f142a9afc79246634d3dec5da3", - "aarch64-unknown-linux-gnu-freethreaded": "2a92a108a3fbd5c439408fe9f3b62bf569ef06dbc2b5b657de301f14a537231a", - "ppc64le-unknown-linux-gnu-freethreaded": "5823a07c957162d6d675488d5306ac3f35a3f458e946cd74da6d1ac69bc97ce3", - "riscv64-unknown-linux-gnu-freethreaded": "f48843e0f1c13ddeaaf9180bc105475873d924638969bc9256a2ac170faeb933", - "s390x-unknown-linux-gnu-freethreaded": "a1e6f843d533c88e290d1e757d4c7953c4f4ccfb5380fef5405aceab938c6f57", - "x86_64-apple-darwin-freethreaded": "f1ea70b041fa5862124980b7fe34362987243a7ecc34fde881357503e47f32ab", - "x86_64-pc-windows-msvc-freethreaded": "5de7968ba0e344562fcff0f9f7c9454966279f1e274b6e701edee253b4a6b565", - "aarch64-pc-windows-msvc-freethreaded": "d7396bafafc82b7e817f0d16208d0f37a88a97c0a71d91e477cbadc5b9d55f6d", - "x86_64-unknown-linux-gnu-freethreaded": "7f5ab66a563f48f169bdb1d216eed8c4126698583d21fa191ab4d995ca8b5506", + "aarch64-apple-darwin": "2b92957f70585f5672390fff3401055e668819777df47e3a66e000e382940979", + "aarch64-unknown-linux-gnu": "832ce0f827bb3f2c93c993d45a8706e20d3222edf35a918879cf94f9545732a4", + "ppc64le-unknown-linux-gnu": "a28efca51e222133acd159cd304f1b4a0634b3c782ed833fae0ee0b9a18173df", + "riscv64-unknown-linux-gnu": "d1b721907b8d628e30f2b2dcba51fbdd82eecd522c6c5a09f2cb63b3638006ed", + "s390x-unknown-linux-gnu": "7638642bbdf0fba3fe2cd515fd8d14d91846bfaad20acc8ef87efe5c3e55b05d", + "x86_64-apple-darwin": "244348d8504ff649a6e79c128c51e1ec52bef689f15433fe7948fdd1d523076e", + "x86_64-pc-windows-msvc": "dbaac5ef2aeba93372f7a829bd1f88c2d8612875a87bffc1be68fa1a1940613e", + "aarch64-pc-windows-msvc": "b77ed62d8e69250a37957bf25c2e21ac6560b54175458a6d6cac40d5ac4ef8cb", + "x86_64-unknown-linux-gnu": "7547d0f0621cc9641a98b5dfb93ef2386f194b9c95996912cf9e3195d3760089", + "x86_64-unknown-linux-musl": "09142c7c4f413393b035f015733adb02f0fb72a4af3fab43b01fa03d3682c9ad", + "aarch64-apple-darwin-freethreaded": "0bed2d0aee3eec6ae47fb5aa18e83c63d31621276ec73956cff8074870e2b8cd", + "aarch64-unknown-linux-gnu-freethreaded": "b71f5c60fdffb4f375d53a3d16a45520b76af52448f55414243b6b20606447ac", + "ppc64le-unknown-linux-gnu-freethreaded": "982f0f8451cd90986b43683b119f157fe4eb69f763be18a65503b4869266798a", + "riscv64-unknown-linux-gnu-freethreaded": "55ab4d2dfa1e01b2f7a69bcae6fad3f77bc7f9ec2556a31c0885b16d446e90a6", + "s390x-unknown-linux-gnu-freethreaded": "d870eb1d41bdf97a9739c387b6d8ca948f66f9ea9a77e5a3591c3b88551bdcfd", + "x86_64-apple-darwin-freethreaded": "04447e12c93b9299a28bfba10d94fb02bd18ff858097fa95474c5c6673d826d1", + "x86_64-pc-windows-msvc-freethreaded": "3cf7290af19454ed0e30649ccd0c68d67911b22428e008af08766723efd212b2", + "aarch64-pc-windows-msvc-freethreaded": "2f2ec7b783a135680153905780a91d07cc8e47768139cfb285db1703eed98a8e", + "x86_64-unknown-linux-gnu-freethreaded": "ab51a2a4162b9ec329fdcd2e15ac0d59a458d8db133c03a07ad86a8890a302ae", }, "strip_prefix": { "aarch64-apple-darwin": "python", @@ -865,7 +865,7 @@ MINOR_MAPPING = { "3.11": "3.11.13", "3.12": "3.12.11", "3.13": "3.13.5", - "3.14": "3.14.0b4", + "3.14": "3.14.0rc1", } def _generate_platforms(): diff --git a/tests/python/python_tests.bzl b/tests/python/python_tests.bzl index 136f90c519..0ca70b5aab 100644 --- a/tests/python/python_tests.bzl +++ b/tests/python/python_tests.bzl @@ -326,7 +326,7 @@ def _test_toolchain_ordering(env): "3.11": "3.11.13", "3.12": "3.12.11", "3.13": "3.13.5", - "3.14": "3.14.0b4", + "3.14": "3.14.0rc1", "3.8": "3.8.20", "3.9": "3.9.23", }) diff --git a/tests/toolchains/python_toolchain_test.py b/tests/toolchains/python_toolchain_test.py index 63ed42488f..ff45fc0863 100644 --- a/tests/toolchains/python_toolchain_test.py +++ b/tests/toolchains/python_toolchain_test.py @@ -27,18 +27,14 @@ def test_expected_toolchain_matches(self): ) self.assertIn(expected, settings["toolchain_label"], msg) - if sys.version_info.releaselevel == "final": - actual = "{v.major}.{v.minor}.{v.micro}".format(v=sys.version_info) - elif sys.version_info.releaselevel in ["beta"]: - actual = ( - "{v.major}.{v.minor}.{v.micro}{v.releaselevel[0]}{v.serial}".format( - v=sys.version_info - ) - ) - else: - raise NotImplementedError( - "Unsupported release level, please update the test" + actual = "{v.major}.{v.minor}.{v.micro}".format(v=sys.version_info) + if sys.version_info.releaselevel != "final": + release_prefix = ( + "rc" + if sys.version_info.releaselevel == "candidate" + else sys.version_info.releaselevel[0] ) + actual = f"{actual}{release_prefix}{sys.version_info.serial}" self.assertEqual(actual, expect_version) diff --git a/tests/toolchains/transitions/transitions_tests.bzl b/tests/toolchains/transitions/transitions_tests.bzl index ef071188bb..0f1db2eecd 100644 --- a/tests/toolchains/transitions/transitions_tests.bzl +++ b/tests/toolchains/transitions/transitions_tests.bzl @@ -64,7 +64,7 @@ def _impl(ctx): if got_version.releaselevel != "final": got = "{}{}{}".format( got, - got_version.releaselevel[0], + "rc" if got_version.releaselevel == "candidate" else got_version.releaselevel[0], got_version.serial, )