mirror of
https://github.com/siop-spelev/siop2.git
synced 2026-08-08 12:41:54 +00:00
ci(r0.12): pipeline GitHub Actions — ci-contract, api (couverture ≥ 70 %), web
- ci-contract : régénère docs/openapi.json + schema.d.ts et échoue au moindre diff — la règle d'or (ADR-001) devient bloquante - api : services PostgreSQL 18 + Redis, prisma migrate deploy, typecheck, Jest avec coverageThreshold global 70 % (mesuré : 97,5 % stmts / 90,7 % branches) - web : typecheck + vitest + build de production - test unitaire PermissionsGuard (23 tests au total) ; badge CI au README Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,23 @@ Trace chronologique des sessions (la plus récente en premier). Le **playbook**
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-15 — Pr. Daaif (+ Claude) — R0.12 (1/2) : pipeline GitHub Actions
|
||||
|
||||
**Actions**
|
||||
|
||||
- `.github/workflows/ci.yml`, 3 jobs sur push main + PR : **ci-contract** (régénère `docs/openapi.json` + `schema.d.ts`, échoue au moindre diff — la règle d'or devient bloquante), **api** (PostgreSQL 18 + Redis en services, `prisma migrate deploy`, typecheck, Jest avec **couverture ≥ 70 % bloquante** via `coverageThreshold`), **web** (typecheck + vitest + build prod).
|
||||
- Test unitaire de `PermissionsGuard` ajouté (aucune route `@RequirePermission` en R0 ne l'exerçait) : couverture 97,5 % stmts / 90,7 % branches, 23 tests.
|
||||
- Badge CI dans le README ; `ci-contract` simulé en local (diff propre) avant push.
|
||||
|
||||
**Décisions**
|
||||
|
||||
- CI sur PostgreSQL nu en R0 (la migration `r0_identity` n'exige aucune extension) ; bascule sur l'image `infra/postgres` dès que des tests toucheront pgvector/PostGIS (R1+).
|
||||
- Pas de MinIO en CI : `/health` répond `degraded` sans casser les tests — seul `database: up` est exigé.
|
||||
|
||||
**Prochaine étape** : R0.12 (2/2) — ESLint (dont la règle « pas d'import MinIO hors FileStorage »), parcours Playwright (connexion démo → coquille → bascule de rôle), puis R0.13 Dockerfiles + runbook Dokploy.
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-15 — Pr. Daaif (+ Claude) — R0.11 : apps/web (connexion + sélecteur démo, coquille, /design)
|
||||
|
||||
**Actions**
|
||||
|
||||
Reference in New Issue
Block a user