From 2caf4b44f14a7ff4744da07a5ce62fecf090746c Mon Sep 17 00:00:00 2001 From: Sandy Chapman Date: Tue, 23 Jun 2026 14:08:33 -0300 Subject: [PATCH] fix(docker): add fastembed-cache-empty placeholder so default bake builds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit docker-bake.hcl's FASTEMBED_CACHE_CONTEXT defaults to docker/fastembed-cache-empty, which Dockerfile.nmp-api COPYs (`COPY --from=fastembed-cache .`). The directory was never committed — git can't track empty dirs and there was no placeholder — so any build using the committed default (a clean checkout running `make docker-build` / `docker-load`, the documented local path) fails immediately: ERROR: failed to get build context fastembed-cache: stat docker/fastembed-cache-empty: no such file or directory CI's image jobs don't hit this because ci.yaml overrides FASTEMBED_CACHE_CONTEXT to a RUNNER_TEMP dir it creates. Commit a tracked placeholder so the default context exists on checkout; the empty cache just makes the image download the embed model at build time (the existing else-branch in Dockerfile.nmp-api). Verified: with the dir present, `make docker-load TARGET=docker-cpu` proceeds past context resolution into the image builds. Co-Authored-By: Claude Opus 4.8 Signed-off-by: Sandy Chapman --- docker/fastembed-cache-empty/.gitkeep | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 docker/fastembed-cache-empty/.gitkeep diff --git a/docker/fastembed-cache-empty/.gitkeep b/docker/fastembed-cache-empty/.gitkeep new file mode 100644 index 0000000000..222e76e6de --- /dev/null +++ b/docker/fastembed-cache-empty/.gitkeep @@ -0,0 +1,4 @@ +# Placeholder so the empty fastembed cache build context exists on checkout. +# Git cannot track empty directories; docker-bake.hcl's FASTEMBED_CACHE_CONTEXT +# default (docker/fastembed-cache-empty) is COPYed by Dockerfile.nmp-api, so a +# missing dir breaks default/local 'make docker-build'. CI overrides the var.