|
|
@@ -20,5 +20,13 @@ done < versions.env
|
|
|
[ -n "${BASE_IMAGE:-}" ] && ARGS+=(--build-arg "BASE_IMAGE=${BASE_IMAGE}")
|
|
|
|
|
|
echo "=== Building ${TAG} ==="
|
|
|
-DOCKER_BUILDKIT=1 docker build "${ARGS[@]}" --progress=plain -t "${TAG}" -f Dockerfile . 2>&1
|
|
|
+# Persistent buildkit cache (per node, shared across image dirs): the
|
|
|
+# version-independent stages (apt, torch, CUDA base) are reused across
|
|
|
+# rebuilds — only the pinned source stages (vllm/b12x/…) re-download and
|
|
|
+# re-compile. Override the dir with SM121_BUILDKIT_CACHE if desired.
|
|
|
+CACHE_DIR="${SM121_BUILDKIT_CACHE:-$HOME/sm121-cache/buildkit}"
|
|
|
+mkdir -p "${CACHE_DIR}"
|
|
|
+docker buildx build "${ARGS[@]}" --cache-from "type=local,src=${CACHE_DIR}" \
|
|
|
+ --cache-to "type=local,dest=${CACHE_DIR},mode=max" \
|
|
|
+ --progress=plain --load -t "${TAG}" -f Dockerfile . 2>&1
|
|
|
echo "=== Done: ${TAG} ==="
|