Only re-build step image if not in output cache yet

This commit is contained in:
BtbN 2024-03-12 22:52:22 +01:00
parent e94a8c6774
commit bca241b76e

View File

@ -19,15 +19,19 @@ docker buildx inspect ffbuilder &>/dev/null || docker buildx create \
--driver-opt env.BUILDKIT_STEP_LOG_MAX_SPEED=-1
if [[ -z "$QUICKBUILD" ]]; then
BASE_IMAGE_TARGET="${PWD}/.cache/images/base"
if [[ ! -d "${BASE_IMAGE_TARGET}" ]]; then
docker buildx --builder ffbuilder build \
--cache-from=type=local,src=.cache/"${BASE_IMAGE/:/_}" \
--cache-to=type=local,mode=max,dest=.cache/"${BASE_IMAGE/:/_}" \
--load --tag "${BASE_IMAGE}" \
"images/base"
BASE_IMAGE_TARGET="${PWD}/.cache/images/base"
rm -rf "${BASE_IMAGE_TARGET}" && mkdir -p "${BASE_IMAGE_TARGET}"
mkdir -p "${BASE_IMAGE_TARGET}"
docker image save "${BASE_IMAGE}" | tar -x -C "${BASE_IMAGE_TARGET}"
fi
IMAGE_TARGET="${PWD}/.cache/images/base-${TARGET}"
if [[ ! -d "${IMAGE_TARGET}" ]]; then
docker buildx --builder ffbuilder build \
--cache-from=type=local,src=.cache/"${TARGET_IMAGE/:/_}" \
--cache-to=type=local,mode=max,dest=.cache/"${TARGET_IMAGE/:/_}" \
@ -35,9 +39,9 @@ if [[ -z "$QUICKBUILD" ]]; then
--build-context "${BASE_IMAGE}=oci-layout://${BASE_IMAGE_TARGET}" \
--load --tag "${TARGET_IMAGE}" \
"images/base-${TARGET}"
IMAGE_TARGET="${PWD}/.cache/images/base-${TARGET}"
rm -rf "${IMAGE_TARGET}" && mkdir -p "${IMAGE_TARGET}"
mkdir -p "${IMAGE_TARGET}"
docker image save "${TARGET_IMAGE}" | tar -x -C "${IMAGE_TARGET}"
fi
CONTEXT_SRC="oci-layout://${IMAGE_TARGET}"
else