# syntax=docker/dockerfile:1 ARG NODE_VERSION=22.23.0-bookworm-slim FROM node:${NODE_VERSION} AS test WORKDIR /app RUN apt-get update \ && apt-get install -y --no-install-recommends python3 make g++ \ && rm -rf /var/lib/apt/lists/* \ && corepack enable COPY package.json pnpm-workspace.yaml pnpm-lock.yaml turbo.json ./ COPY apps/web/package.json apps/web/ COPY apps/api/package.json apps/api/ COPY packages/ui/package.json packages/ui/ COPY packages/shared/package.json packages/shared/ COPY packages/db/package.json packages/db/ RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store \ pnpm install --frozen-lockfile COPY apps/web apps/web COPY apps/api apps/api COPY packages/ui packages/ui COPY packages/shared packages/shared COPY packages/db packages/db RUN pnpm turbo build --filter=@cfdm/shared --filter=@cfdm/db --filter=@cfdm/api CMD ["sh", "-c", "pnpm --filter @cfdm/api test && pnpm --filter web test"]