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
+7
View File
@@ -20,3 +20,10 @@ with `/mattpocock-skills:triage`. See `docs/agents/triage-labels.md`.
Single-context: one `CONTEXT.md` + `docs/adr/` at the repo root (created lazily when terms or
decisions get resolved). See `docs/agents/domain.md`.
### Testing
Backoffice tests need only Docker (a throwaway Postgres container is started for you) and a
Python 3.12 venv — the `psycopg[binary]` pin has version-specific wheel availability, so use
3.12, not whatever `python3` defaults to. Runs automatically in Gitea Actions on push/PR. See
`docs/agents/testing.md`.