From ecb57d991cc2bf79f40ebdb9511716e01fb5b1c3 Mon Sep 17 00:00:00 2001 From: Jorijn Schrijvershof Date: Fri, 9 Jan 2026 08:27:40 +0100 Subject: [PATCH] chore: support python 3.14 in CI and docker --- .github/workflows/test.yml | 10 +++++----- Dockerfile | 4 ++-- README.md | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6427c4d..8639384 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.11", "3.12"] + python-version: ["3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 @@ -69,7 +69,7 @@ jobs: - name: Upload coverage HTML report uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 - if: always() && matrix.python-version == '3.12' + if: always() && matrix.python-version == '3.14' with: name: coverage-report-html-${{ matrix.python-version }} path: htmlcov/ @@ -78,7 +78,7 @@ jobs: - name: Upload coverage XML report uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 - if: always() && matrix.python-version == '3.12' + if: always() && matrix.python-version == '3.14' with: name: coverage-report-xml-${{ matrix.python-version }} path: coverage.xml @@ -101,13 +101,13 @@ jobs: - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 with: - python-version: "3.12" + python-version: "3.14" - name: Set up uv uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0 with: enable-cache: true - python-version: "3.12" + python-version: "3.14" - name: Install linters run: uv sync --locked --extra dev --no-install-project diff --git a/Dockerfile b/Dockerfile index 462d934..d36908e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ FROM ghcr.io/astral-sh/uv:0.9.22@sha256:2320e6c239737dc73cccce393a8bb89eba2383d1 # ============================================================================= # Stage 1: Build dependencies # ============================================================================= -FROM python:3.12-slim-bookworm@sha256:28cf028e5a544e92dbe11450debd93dd5eb70eaf3179a9e878cfaee426556b3b AS builder +FROM python:3.14-slim-bookworm AS builder # Ofelia version and checksums (verified from GitHub releases) ARG OFELIA_VERSION=0.3.12 @@ -53,7 +53,7 @@ RUN pip install --no-cache-dir --upgrade pip && \ # ============================================================================= # Stage 2: Runtime # ============================================================================= -FROM python:3.12-slim-bookworm@sha256:28cf028e5a544e92dbe11450debd93dd5eb70eaf3179a9e878cfaee426556b3b +FROM python:3.14-slim-bookworm # OCI Labels LABEL org.opencontainers.image.source="https://github.com/jorijn/meshcore-stats" diff --git a/README.md b/README.md index adc6884..f8e78c9 100644 --- a/README.md +++ b/README.md @@ -162,7 +162,7 @@ For environments where Docker is not available. #### Requirements -- Python 3.10+ +- Python 3.11+ (3.14 recommended) - SQLite3 - [uv](https://github.com/astral-sh/uv)