docs: refresh CI + lint/format docs (Phase 8 + Phase 13)
CI / fast-checks (pull_request) Successful in 1m23s
CI / api (pull_request) Successful in 1m0s
CI / harness (pull_request) Successful in 3m27s

This commit is contained in:
Lucas Berger
2026-06-11 22:21:23 -04:00
parent 63ae0c69d4
commit 213aeba347
5 changed files with 378 additions and 60 deletions
+17 -2
View File
@@ -90,9 +90,12 @@ docker-compose.dev.yml Dev overrides (bind-mount src/, expose DB/Redis ports)
| `pnpm dev:api` | Start API in watch mode (`dist/` must be built first) |
| `pnpm dev:pwa` | Start Vite dev server with HMR |
| `pnpm build` | Build both api and pwa |
| `pnpm test` | Run API test suite (vitest) |
| `pnpm lint` | Lint all workspaces |
| `pnpm test` | Run API test suite (vitest + real MariaDB) |
| `pnpm test:e2e` | Run Playwright harness (iPhone + Pixel profiles) |
| `pnpm lint` | ESLint across all workspaces (flat config, TS-aware) |
| `pnpm typecheck` | Type-check all workspaces |
| `pnpm format` | Reformat all files with Prettier |
| `pnpm format:check` | Check formatting without writing (used in CI) |
| `pnpm --filter @familysync/api db:generate` | Generate Drizzle migration from schema changes |
| `pnpm --filter @familysync/api db:migrate` | Apply pending migrations to MariaDB |
@@ -123,6 +126,18 @@ Store the app password in the database via the `/me` endpoint after first login.
See [`docs/deployment.md`](docs/deployment.md) for Unraid/Docker Compose deployment notes including the Pangolin/Newt tunnel configuration.
## CI
Every PR to `main` must pass three required checks before it can merge:
| Job | What it runs |
| ------------------ | -------------------------------------------------------------------------- |
| `CI / fast-checks` | `pnpm lint`, `pnpm format:check`, `pnpm typecheck`, PWA unit tests |
| `CI / api` | DB migrations + API test suite against a real MariaDB 11 service container |
| `CI / harness` | Playwright end-to-end harness (WebKit iPhone + Chromium Pixel) |
`fast-checks` and `api`/`harness` run in parallel. Defined in `.gitea/workflows/ci.yml`.
## Publishing / Releases
Publishing happens automatically on every push to `main` — i.e. when a PR merges. The `.gitea/workflows/publish.yml` workflow runs and builds + pushes the API image to the Gitea container registry.