CI: run backoffice test suite on push/PR, document local test setup

Adds .gitea/workflows/test-backoffice.yml (paths-filtered to
backoffice/app/** and backoffice/db/**, self-hosted homelab runner,
plain git clone matching deploy-backoffice.yml's conventions) so a
regression no longer needs a human to notice it.

The psycopg[binary]==3.2.1 pin turned out to be correct, not stale: it
only ships wheels through cp312, so it resolves cleanly under the
project's python:3.12-slim target but not under newer interpreters.
Documented in requirements.txt and docs/agents/testing.md, along with
the fact that the suite spins up its own throwaway postgres:16-alpine
container (tests/conftest.py) with no manual DB setup required.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-03 17:34:43 +02:00
parent 528a13ca7c
commit 3a20cb5d2b
4 changed files with 139 additions and 0 deletions
+6
View File
@@ -1,4 +1,10 @@
Flask==3.0.3
# psycopg-binary 3.2.1 only publishes prebuilt wheels up to cp312 (see
# https://pypi.org/project/psycopg-binary/3.2.1/#files) — installing this
# under Python 3.13+ falls back to a source build (needs libpq headers) or
# just fails to resolve. Match the python:3.12-slim runtime everywhere
# (venv, CI, prod image) and this pin installs from wheel with no build
# toolchain needed. See docs/agents/testing.md.
psycopg[binary]==3.2.1
waitress==3.0.0
PyJWT[crypto]==2.9.0