Repository navigation
Conversation
Raise the Python line in the backend and lake-builder images, the devcontainer Python feature, the pyproject constraints of pydevlake, the plugins and the test fakeplugin, the uv.sh default and the development docs. Python 3.11 reaches end of life in October 2027; 3.14 is supported until October 2030. The poetry.lock files only change in their python constraint and content-hash; no package version changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: DoDiODev <DoDiDev@proton.me>
Debian 12 (bookworm) has left regular security support and is only covered by Debian LTS until June 2028. Move the remaining bookworm base images to Debian 13 (trixie): the backend builder and runtime stages, Dockerfile.local (builder and runtime together, since its binary is linked against the builder's glibc), the lake-builder image and the devcontainer. config-ui is left out; its builder stage moves with the Node 26 update. trixie's /etc/login.defs sets HOME_MODE 0700, so `useradd -m` would now create /app as 0700 and a container started with a random UID (as on OpenShift) could no longer enter it. Pass HOME_MODE=0755 to keep the bookworm behaviour. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: DoDiODev <DoDiDev@proton.me>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
backend/python/DevelopmentSetup.md)pr-type/bug-fix,pr-type/feature-development, etc.(I can't set labels myself; suggested:
pr-type/refactor,component/devops)Summary
Two base-image updates that touch the same
FROM python:3.11-slim-bookwormlines, so they come as one PR with two commits:
1. Python 3.11 → 3.14 (
build(python): …)Python 3.11 reaches end of life in October 2027; 3.14 is supported until
October 2030. Since #9352 (Pydantic v2) every locked package has cp314 wheels.
backend/Dockerfile,devops/docker/lake-builder/Dockerfile:python:3.14-…pythonconstraint>=3.11,<3.12→>=3.14,<3.15in pydevlake, theazuredevops, glpi, redmine and zephyr plugins and the test fakeplugin
poetry.lock(Poetry 2.5.1, same as the current lock header): onlypython-versionsandcontent-hashchange, no package versionbackend/python/uv.sh: defaultDEVLAKE_PYTHON_VERSION3.14.devcontainer/devcontainer.json: Python feature 3.14backend/python/DevelopmentSetup.md:python3.11→python3.143.15 was not chosen: SQLAlchemy 2.0.x (pinned through sqlmodel 0.0.38) has no
cp315 wheels.
2. Debian bookworm → trixie (
build(docker): …)Debian 12 has left regular security support and is only covered by Debian
LTS until June 2028. All remaining bookworm images move to Debian 13:
backend/Dockerfile(builder)golang:1.27-bookwormgolang:1.27-trixiebackend/Dockerfile(runtime)python:3.14-slim-bookwormpython:3.14-slim-trixiebackend/Dockerfile.local(builder + runtime)golang:1.27-bookworm,debian:bookworm-slimgolang:1.27-trixie,debian:trixie-slimdevops/docker/lake-builder/Dockerfilepython:3.14-slim-bookwormpython:3.14-slim-trixie.devcontainer/Dockerfiledevcontainers/go:2-1.27-bookwormdevcontainers/go:2-1.27-trixieDockerfile.localbuilds withoutCGO_ENABLED=0, so its binary linksagainst the builder's glibc; builder and runtime move together.
backend/Dockerfilebuilds withCGO_ENABLED=0and has no such coupling.HOME_MODEto0700in/etc/login.defs, souseradd -m -d /appwould create/appas0700. A container startedwith a random UID in group 0 (OpenShift) could then no longer enter
/app(
uv: Permission denied).useradd -K HOME_MODE=0755keeps the bookwormbehaviour.
apt-get installpackage names exist unchanged in trixie.config-ui/Dockerfile(node:24-bookworm-slim) is not touched here; itsbuilder stage moves to trixie with the Node 26 LTS update.
lake-builder tag: the lake-builder Dockerfile changes, so a new
builder-v*tag is needed before CI picks it up. The Dockerfile alreadydiffers from
lake-builder-v0.0.16(mockery 3.9.0 from #9302, uv pin from#9364); one new tag would cover all of them. A follow-up PR then bumps the
five
container:pins in the workflows.Does this close any open issues?
N/A
Screenshots
N/A
Other Information
Validation:
sh ./run_tests.sh, CPython 3.14.10 viauv.sh):azuredevops 8 passed/1 skipped, glpi 72/1, redmine 31/1, zephyr 26,
pydevlake 13.
poetry check --lockOK for all three lock files.docker build backend(linux/arm64): OK. In the image: Debian 13,Python 3.14.10, uv 0.13.7, git 2.47.3, all four Python plugins built,
import pydevlake, pydantic, sqlmodel, MySQLdb, psycopg2OK.docker run -u 123456:0 -e HOME=/tmp …:/appis755,uv venvOK,/app/logswritable, plugin imports OK (fails without theHOME_MODEfix).docker build -f backend/Dockerfile.local backend: OK; Debian 13,glibc 2.41,
lakestarts (no unresolved libraries), git present.docker build --platform linux/amd64 devops/docker/lake-builder: OK;Debian 13, Python 3.14.10, Go 1.27.3, uv 0.13.7.
docker build .devcontainer: OK; Debian 13, Go 1.27.3,python3-dev default-libmysqlclient-dev build-essential libpq-devinstalled.16/16 jobs green.