Skip to content

build: move to Python 3.15, Node 26 and pnpm 12 - #5

Merged
bubaley merged 2 commits into
mainfrom
chore/runtime-versions
Oct 22, 2026
Merged

bubaley merged 2 commits into
mainfrom
chore/runtime-versions

Conversation

@bubaley

@bubaley bubaley commented Oct 22, 2026

Copy link
Copy Markdown
Owner

Summary

Runtime and tooling versions brought to current releases.

  • Python 3.15.1 — .python-version, requires-python, ruff/pyupgrade targets, base image python:3.15.1-slim-trixie, pre-commit hooks; uv.lock re-resolved with uv 0.13.5.
  • Node 26.12.1 — .nvmrc, engines, base image node:26.12.1-trixie-slim. Node 26 no longer bundles corepack, so the image installs the pnpm version pinned in packageManager; the runtime image gets libatomic1, which the Node 26 binary links.
  • pnpm 12.15.0 — build scripts must be allowed explicitly (frontend/pnpm-workspace.yaml → allowBuilds); the lockfile now has several YAML documents, so check-yaml runs with --allow-multiple-documents.
  • GitHub runners pinned to ubuntu-26.04 instead of the migrating ubuntu-latest label.
  • pre-commit 4.7.0, pyupgrade 3.22.0, uv-pre-commit 0.13.5, pyproject-fmt 2.30.3.

Already current, unchanged: all GitHub Actions, uv 0.13.5, Caddy 2.11.7, s6-overlay 3.2.3.2, git-cliff 2.14.2, PostgreSQL 18.6, Redis 8.10.2.

Local setup after merge: uv self update (uv ≥ 0.13 downloads Python 3.15), Node 26 and npm install -g pnpm@12.

Test plan

  • pre-commit on all files (Python 3.15)
  • make check on Python 3.15.1 / Node 26 / pnpm 12: 186 backend tests on PostgreSQL, 67 frontend tests, typecheck, architecture guard
  • pnpm build
  • docker build + make docker-run: app healthy, /healthz 200, / 200, /api/v1/auth/me 401, security headers present
  • CI on this PR (first run on ubuntu-26.04)

🤖 Generated with Claude Code

bubaley and others added 2 commits October 22, 2026 23:16
- Python 3.15.1 (.python-version, requires-python, ruff/pyupgrade targets,
  base image, pre-commit hooks); uv.lock re-resolved with uv 0.13.5.
- Node 26.12.1 (.nvmrc, engines, base image). Node 26 no longer bundles
  corepack, so the image installs the pnpm pinned in packageManager.
- pnpm 12.15.0: build scripts must be allowed explicitly
  (pnpm-workspace.yaml allowBuilds); the lockfile has several YAML
  documents, so check-yaml allows that.
- GitHub runners pinned to ubuntu-26.04 instead of the migrating
  ubuntu-latest label; pre-commit 4.7.0 and hook revs updated
  (pyupgrade 3.22.0, uv-pre-commit 0.13.5, pyproject-fmt 2.30.3).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bubaley
bubaley merged commit fc53e13 into main Oct 22, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant