fix(orchestrator): rm dangling symlink before COPY in Docker builder
All checks were successful
ci/woodpecker/push/ci Pipeline was successful

Kaniko resolves destination symlinks during COPY. Writing to
apps/orchestrator/prisma/schema.prisma (a symlink → ../../api/prisma/schema.prisma)
causes kaniko to try to resolve /app/apps/api which does not exist → build fails.

Fix: RUN rm -f the symlink first so the destination path is clean,
then COPY the real schema file to that location.

CI is unaffected (symlink resolves correctly in the monorepo checkout).
This commit is contained in:
2026-03-07 11:00:27 -06:00
parent 123cbce5cd
commit 945f4ba12a

View File

@@ -47,10 +47,11 @@ 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
# Overwrite the symlink (apps/orchestrator/prisma/schema.prisma → ../../api/prisma/schema.prisma) # The repo has apps/orchestrator/prisma/schema.prisma as a symlink for CI use.
# with the real file content. Kaniko copies symlinks AS symlinks (does not follow them), # Kaniko resolves destination symlinks on COPY, which fails because the symlink
# so the symlink target would be dangling inside the container. Copying the actual file # target (../../api/prisma/schema.prisma) doesn't exist in the container.
# after the orchestrator COPY overwrites the symlink with the resolved content. # Fix: remove the dangling symlink first, then copy the real schema file there.
RUN rm -f apps/orchestrator/prisma/schema.prisma
COPY apps/api/prisma/schema.prisma ./apps/orchestrator/prisma/schema.prisma COPY apps/api/prisma/schema.prisma ./apps/orchestrator/prisma/schema.prisma
# pnpm turbo build runs prisma:generate (--schema=./prisma/schema.prisma) from the # pnpm turbo build runs prisma:generate (--schema=./prisma/schema.prisma) from the
# orchestrator package context — no cross-package project-root issues. # orchestrator package context — no cross-package project-root issues.