Description
Lors de l'exécution parallèle de pnpm -r run test, les workspaces apps/server et apps/server-nestjs lancent simultanément leur script pretest qui invoque prisma generate. Les deux workspaces partageant le même schéma Prisma et le même répertoire de sortie, cela provoque une race condition intermittente : l'un des deux processus échoue car l'autre est en train d'écrire les fichiers générés.
Ce problème se manifeste de manière intermittente en CI et en local, rendant les builds non-déterministes.
Étapes de reproduction
- Exécuter
pnpm run test (qui lance pnpm -r --no-bail run test)
- Observer l'échec intermittent de
server-nestjs pretest: pnpm run db:generate
- L'erreur ne se produit pas quand on lance
pnpm run db:generate séquentiellement avant les tests
Comportement attendu
Les tests doivent passer de manière déterministe, sans échec lié à la génération Prisma.
Logs
Le script pretest de apps/server-nestjs échoue avec une erreur Prisma lorsque apps/server génère le client en même temps.
Définition du fini
Description
Lors de l'exécution parallèle de
pnpm -r run test, les workspacesapps/serveretapps/server-nestjslancent simultanément leur scriptpretestqui invoqueprisma generate. Les deux workspaces partageant le même schéma Prisma et le même répertoire de sortie, cela provoque une race condition intermittente : l'un des deux processus échoue car l'autre est en train d'écrire les fichiers générés.Ce problème se manifeste de manière intermittente en CI et en local, rendant les builds non-déterministes.
Étapes de reproduction
pnpm run test(qui lancepnpm -r --no-bail run test)server-nestjs pretest: pnpm run db:generatepnpm run db:generateséquentiellement avant les testsComportement attendu
Les tests doivent passer de manière déterministe, sans échec lié à la génération Prisma.
Logs
Le script
pretestdeapps/server-nestjséchoue avec une erreur Prisma lorsqueapps/servergénère le client en même temps.Définition du fini
prisma generate)