4 Commits

Author SHA1 Message Date
mivanchenko 3a20cb5d2b 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>
2026-08-03 17:34:43 +02:00
mivanchenko 0c2e4450f2 Fix deploy pipeline: strip refs/heads/ prefix from dispatch ref input
inputs.ref resolves fully-qualified (refs/heads/main) rather than the
declared default "main", so git clone --branch was failing with
"Remote branch refs/heads/main not found".

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-15 18:28:00 +02:00
mivanchenko 6b7d47fa4c Fix deploy pipeline checkout: no Node on host runner, repo is private
actions/checkout@v4 failed with "Cannot find: node in PATH" (the
runner intentionally has no Node toolchain). Replaced with a plain
git clone authenticated via a new DEPLOY_TOKEN Gitea Actions secret,
since the repo needs auth even for a read-only clone.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-15 18:18:44 +02:00
mivanchenko 8733175f64 Add Gitea Actions deploy pipeline for the backoffice
Manual (workflow_dispatch) pipeline that syncs backoffice/db and
backoffice/app to the homelab, re-applies the idempotent schema,
rebuilds/restarts smb-crm, and health-checks it — the same sequence
that was previously run by hand over SSH.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-15 15:27:55 +02:00