From f6ab6244cb78404f780aed25e9ea454babc0c764 Mon Sep 17 00:00:00 2001 From: brettlangdon Date: Fri, 9 Jan 2026 09:16:12 -0500 Subject: [PATCH 1/2] feat(lib-injection): enable 3.14 SSI support --- .gitlab-ci.yml | 2 +- .riot/requirements/1c11c55.txt | 21 +++++++++++++++++++ lib-injection/sources/sitecustomize.py | 2 +- .../ssi-enable-3.14-fd53785aba30d8d6.yaml | 4 ++++ riotfile.py | 2 +- 5 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 .riot/requirements/1c11c55.txt create mode 100644 releasenotes/notes/ssi-enable-3.14-fd53785aba30d8d6.yaml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2b3327eca79..634f5a9985c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -390,7 +390,7 @@ lib_injection_tests: image: registry.ddbuild.io/images/mirror/ubuntu:25.04 parallel: matrix: - - PYTHON: [ "2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14" ] + - PYTHON: [ "2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14", "3.15-dev" ] script: - export PYENV_ROOT="${HOME}/.pyenv" - export PATH="${PYENV_ROOT}/shims:${PYENV_ROOT}/bin:${PATH}" diff --git a/.riot/requirements/1c11c55.txt b/.riot/requirements/1c11c55.txt new file mode 100644 index 00000000000..67627849ca5 --- /dev/null +++ b/.riot/requirements/1c11c55.txt @@ -0,0 +1,21 @@ +# +# This file is autogenerated by pip-compile with Python 3.14 +# by the following command: +# +# pip-compile --allow-unsafe --no-annotate .riot/requirements/1c11c55.in +# +attrs==25.4.0 +coverage[toml]==7.13.1 +hypothesis==6.45.0 +iniconfig==2.3.0 +mock==5.2.0 +opentracing==2.4.0 +packaging==25.0 +pluggy==1.6.0 +pygments==2.19.2 +pytest==9.0.2 +pytest-cov==7.0.0 +pytest-mock==3.15.1 +pytest-randomly==4.0.1 +pyyaml==6.0.3 +sortedcontainers==2.4.0 diff --git a/lib-injection/sources/sitecustomize.py b/lib-injection/sources/sitecustomize.py index 6efc19b1516..daca0ab328f 100644 --- a/lib-injection/sources/sitecustomize.py +++ b/lib-injection/sources/sitecustomize.py @@ -43,7 +43,7 @@ def parse_version(version): RUNTIMES_ALLOW_LIST = { "cpython": { "min": Version(version=(3, 9), constraint=""), - "max": Version(version=(3, 14), constraint=""), + "max": Version(version=(3, 15), constraint=""), } } diff --git a/releasenotes/notes/ssi-enable-3.14-fd53785aba30d8d6.yaml b/releasenotes/notes/ssi-enable-3.14-fd53785aba30d8d6.yaml new file mode 100644 index 00000000000..f2554b9e33a --- /dev/null +++ b/releasenotes/notes/ssi-enable-3.14-fd53785aba30d8d6.yaml @@ -0,0 +1,4 @@ +--- +features: + - | + lib-injection: Enable lib-injection on Python 3.14. diff --git a/riotfile.py b/riotfile.py index 40c79131996..49404d2c84d 100644 --- a/riotfile.py +++ b/riotfile.py @@ -562,7 +562,7 @@ def select_pys(min_version: str = MIN_PYTHON_VERSION, max_version: str = MAX_PYT command="pytest {cmdargs} tests/lib_injection/", venvs=[ Venv( - pys=select_pys(max_version="3.13"), + pys=select_pys(), pkgs={ "PyYAML": latest, "pytest-randomly": latest, From eed91bcd680b27bf0f73554d9434a0b80a2265ac Mon Sep 17 00:00:00 2001 From: brettlangdon Date: Fri, 9 Jan 2026 10:21:12 -0500 Subject: [PATCH 2/2] use newer version of click to support 3.14 --- tests/lib_injection/test_guardrails.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/lib_injection/test_guardrails.py b/tests/lib_injection/test_guardrails.py index 6af9eb1e28c..373bd788f41 100644 --- a/tests/lib_injection/test_guardrails.py +++ b/tests/lib_injection/test_guardrails.py @@ -50,7 +50,7 @@ def script_to_run(import_line): id="mixed_multi_incomp_one_comp", ), pytest.param({}, [], id="no_relevant_packages"), - pytest.param({"click": "0.1"}, [], id="unrelated_package"), + pytest.param({"click": "8.0"}, [], id="unrelated_package"), ]