diff --git a/.docker/api.Dockerfile b/.docker/api.Dockerfile index 7717067..9661a52 100644 --- a/.docker/api.Dockerfile +++ b/.docker/api.Dockerfile @@ -1,8 +1,12 @@ # syntax=docker/dockerfile:1.7 FROM node:24-bookworm-slim AS development -# canvas (node-canvas) native build deps + git (CVG-124: lefthook prepare script -# runs on `pnpm install` and shells out to git). +# Lefthook's prepare script runs on `pnpm install`, but the Docker build +# context has no `.git` for it to attach hooks to. Skip cleanly via +# lefthook's documented LEFTHOOK=0 opt-out (CVG-125). +ENV LEFTHOOK=0 + +# canvas (node-canvas) native build deps + git (CVG-124). RUN apt-get update && apt-get install -y --no-install-recommends \ curl openssl git \ build-essential python3 pkg-config \ @@ -44,6 +48,9 @@ CMD ["pnpm", "dev"] # ---- Production build ---- FROM node:24-bookworm-slim AS builder +# Skip lefthook prepare in Docker (no `.git` in context). See CVG-125. +ENV LEFTHOOK=0 + RUN apt-get update && apt-get install -y --no-install-recommends \ openssl git build-essential python3 pkg-config \ libpixman-1-dev libcairo2-dev libpango1.0-dev \ @@ -77,8 +84,10 @@ RUN pnpm --filter @cv/api build # ---- Production runtime ---- FROM node:24-bookworm-slim AS production -# canvas runtime libs (no build tools — prebuilt binaries from builder) + -# git (CVG-124: lefthook prepare script runs on `pnpm install`). +# Skip lefthook prepare in Docker (no `.git` in context). See CVG-125. +ENV LEFTHOOK=0 + +# canvas runtime libs (no build tools — prebuilt binaries from builder). RUN apt-get update && apt-get install -y --no-install-recommends \ openssl curl git \ libcairo2 libpango-1.0-0 libpangocairo-1.0-0 \ diff --git a/.docker/worker.Dockerfile b/.docker/worker.Dockerfile index fe286bd..921b12d 100644 --- a/.docker/worker.Dockerfile +++ b/.docker/worker.Dockerfile @@ -1,7 +1,9 @@ # syntax=docker/dockerfile:1.7 FROM node:24-bookworm-slim AS development -# git is needed by lefthook's prepare script (CVG-124). +# Skip lefthook prepare in Docker (no `.git` in context). See CVG-125. +ENV LEFTHOOK=0 + RUN apt-get update && apt-get install -y --no-install-recommends curl git && rm -rf /var/lib/apt/lists/* RUN corepack enable && corepack prepare pnpm@10.29.1 --activate @@ -42,7 +44,9 @@ CMD ["pnpm", "dev"] # ---- Production build ---- FROM node:24-bookworm-slim AS builder -# git is needed by lefthook's prepare script (CVG-124). +# Skip lefthook prepare in Docker (no `.git` in context). See CVG-125. +ENV LEFTHOOK=0 + RUN apt-get update && apt-get install -y --no-install-recommends git && rm -rf /var/lib/apt/lists/* RUN corepack enable && corepack prepare pnpm@10.29.1 --activate @@ -70,7 +74,9 @@ RUN pnpm --filter @cv/worker build # ---- Production runtime ---- FROM node:24-bookworm-slim AS production -# git is needed by lefthook's prepare script (CVG-124). +# Skip lefthook prepare in Docker (no `.git` in context). See CVG-125. +ENV LEFTHOOK=0 + RUN apt-get update && apt-get install -y --no-install-recommends git && rm -rf /var/lib/apt/lists/* RUN corepack enable && corepack prepare pnpm@10.29.1 --activate