chore(seed): rendre seed:demo utilisable en prod
All checks were successful
Build & Deploy API / build-and-deploy (push) Successful in 58s
All checks were successful
Build & Deploy API / build-and-deploy (push) Successful in 58s
- Dockerfile.api : copie `assets/test-invoices/` dans l'image (les 27
PDFs servent au seed démo, ~80KB, négligeable).
- factories.ts : ajout d'un 3e candidat de chemin pour couvrir le
contexte prod où la commande tourne depuis `/app/apps/api/build`.
Permet de peupler une org démo en prod via :
kubectl -n rubis exec -it deploy/rubis-api -- \\
sh -c 'cd /app/apps/api/build && node ace.js seed:demo \\
--email <user> --reset --org-name="<nom>"'
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
68ed8f2ec6
commit
040e787ee5
@ -43,6 +43,9 @@ RUN --mount=type=cache,id=pnpm,target=/root/.local/share/pnpm/store \
|
||||
FROM deps AS build
|
||||
COPY packages/shared ./packages/shared
|
||||
COPY apps/api ./apps/api
|
||||
# Inclus les PDFs de démo pour le command `seed:demo` (lancé manuellement
|
||||
# en prod via `kubectl exec`). 27 fichiers, ~80KB total — négligeable.
|
||||
COPY assets ./assets
|
||||
RUN cd apps/api && pnpm exec tsx ace.js build --ignore-ts-errors
|
||||
|
||||
# Prune devDeps (les workspace symlinks restent).
|
||||
|
||||
@ -414,12 +414,15 @@ async function seedSyntheticActionable(
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Localise le dossier `assets/test-invoices` à la racine du repo. Le command
|
||||
* tourne depuis `apps/api/`, donc on remonte de 2 niveaux.
|
||||
* Localise le dossier `assets/test-invoices`. La résolution couvre 3 contextes :
|
||||
* - dev local : cwd = `apps/api/` → `../../assets/test-invoices`
|
||||
* - prod (init) : cwd = `/app/apps/api` → `../../assets/test-invoices`
|
||||
* - prod (build) : cwd = `/app/apps/api/build` → `../../../assets/test-invoices`
|
||||
*/
|
||||
function resolveTestInvoicesDir(): string | null {
|
||||
const candidates = [
|
||||
join(process.cwd(), '..', '..', 'assets', 'test-invoices'),
|
||||
join(process.cwd(), '..', '..', '..', 'assets', 'test-invoices'),
|
||||
join(process.cwd(), 'assets', 'test-invoices'),
|
||||
]
|
||||
for (const c of candidates) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user