fix(orchestrator): copy schema file after COPY to overwrite dangling symlink
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
Kaniko does NOT follow symlinks — it copies them as-is. The symlink apps/orchestrator/prisma/schema.prisma → ../../api/prisma/schema.prisma becomes dangling inside the container since apps/api/ is not present. Fix: explicitly copy apps/api/prisma/schema.prisma to apps/orchestrator/prisma/schema.prisma AFTER the COPY apps/orchestrator step. This overwrites the symlink with the actual file content. CI still works via the symlink (full monorepo checkout resolves it). Docker now has the real file at the expected path.
This commit is contained in:
@@ -47,11 +47,13 @@ COPY --from=deps /app/packages/shared/node_modules ./packages/shared/node_module
|
|||||||
COPY --from=deps /app/packages/config/node_modules ./packages/config/node_modules
|
COPY --from=deps /app/packages/config/node_modules ./packages/config/node_modules
|
||||||
COPY --from=deps /app/apps/orchestrator/node_modules ./apps/orchestrator/node_modules
|
COPY --from=deps /app/apps/orchestrator/node_modules ./apps/orchestrator/node_modules
|
||||||
|
|
||||||
# apps/orchestrator/prisma/schema.prisma is a symlink → ../../api/prisma/schema.prisma
|
# Overwrite the symlink (apps/orchestrator/prisma/schema.prisma → ../../api/prisma/schema.prisma)
|
||||||
# Docker COPY follows symlinks, so the schema file is already present after
|
# with the real file content. Kaniko copies symlinks AS symlinks (does not follow them),
|
||||||
# "COPY apps/orchestrator ./apps/orchestrator" above.
|
# so the symlink target would be dangling inside the container. Copying the actual file
|
||||||
# pnpm turbo build runs prisma:generate first (which uses --schema=./prisma/schema.prisma)
|
# after the orchestrator COPY overwrites the symlink with the resolved content.
|
||||||
# from within the orchestrator package — no cross-package project-root issues.
|
COPY apps/api/prisma/schema.prisma ./apps/orchestrator/prisma/schema.prisma
|
||||||
|
# pnpm turbo build runs prisma:generate (--schema=./prisma/schema.prisma) from the
|
||||||
|
# orchestrator package context — no cross-package project-root issues.
|
||||||
|
|
||||||
# Build the orchestrator app using TurboRepo
|
# Build the orchestrator app using TurboRepo
|
||||||
RUN pnpm turbo build --filter=@mosaic/orchestrator
|
RUN pnpm turbo build --filter=@mosaic/orchestrator
|
||||||
|
|||||||
Reference in New Issue
Block a user