batchCooking/.github/workflows
Nicolas 721a1ecf81
Some checks failed
CI / lint (push) Successful in 1m45s
CI / build (push) Successful in 1m47s
CI / intent-service-test (push) Successful in 3m36s
CI / test (push) Failing after 13m51s
CI / e2e (push) Successful in 10m41s
ci: isole la base Postgres du job test par run
Deux jobs `test` qui se chevauchent (push de branche peu après un merge
sur `main`) se connectaient au *même* conteneur `--name postgres` sur le
réseau partagé du runner Forgejo : leurs `prisma migrate deploy` +
`seedReferenceData` (beforeAll racine Mocha) se télescopaient — P2002 sur
`key`, « No pending migrations » à tort, décalage des ids de
`tech_step`/`diet` cassant des assertions sans rapport. Vu 3× en une
session (PR #47, #53, #54), à chaque fois re-déclenché par un commit vide
sur un runner au repos.

`concurrency:` serait le correctif naturel mais ce Forgejo (9.0.3) est
antérieur à son support côté Actions (arrivé en Forgejo v14 / Gitea 1.26,
et workflow-level uniquement même là) : la clé est ignorée silencieusement.

À la place, le conteneur prend un nom unique par run
(`postgres-${GITHUB_RUN_ID}`), poussé dans `DATABASE_URL` via `$GITHUB_ENV`
pour les étapes suivantes — deux runs ne partagent plus jamais de base.
Nettoyage : étape de teardown `if: always()` + purge des conteneurs
abandonnés (bornée par l'âge) au démarrage, pour un job tué net avant son
teardown. `timeout-minutes: 40` borne aussi le cas « job zombie ~1h »
observé cette session (Mocha sans `--exit`).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-06 08:59:38 +02:00
..
ci.yml ci: isole la base Postgres du job test par run 2026-09-06 08:59:38 +02:00
release.yml Fusionner web+api en une image, séparer la CI, ajouter la release 2026-08-17 23:11:26 +02:00