chore: move to Python 3.14 and Alpine 3.24
CI / Build and push docker image (push) Successful in 1m5s

Both Docker stages now use python:3.14-alpine3.24. Since there is no
combined uv image tag for python3.14-alpine3.24, the static uv binary is
copied from ghcr.io/astral-sh/uv:0.13.1 into the builder stage. Requires
Python 3.14, refreshes uv.lock, and updates the README badges.
This commit is contained in:
2026-10-19 18:11:26 +00:00
parent b948b60306
commit 72bdbdb3b2
5 changed files with 11 additions and 94 deletions
+5 -4
View File
@@ -1,9 +1,10 @@
# syntax=docker/dockerfile:1
# ---- Build stage -------------------------------------------------------------
# Uses the uv image to resolve and install the pinned dependency set into a
# self-contained virtual environment.
FROM ghcr.io/astral-sh/uv:python3.13-alpine3.23 AS builder
# Python 3.14 / Alpine 3.24 base. uv is copied from its official image because
# there is no combined python3.14-alpine3.24 uv image tag.
FROM python:3.14-alpine3.24 AS builder
COPY --from=ghcr.io/astral-sh/uv:0.13.1 /uv /uvx /bin/
ENV UV_COMPILE_BYTECODE=1 \
UV_LINK_MODE=copy \
@@ -23,7 +24,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
uv sync --frozen --no-dev --no-editable
# ---- Runtime stage -----------------------------------------------------------
FROM python:3.13-alpine3.23 AS runtime
FROM python:3.14-alpine3.24 AS runtime
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \