Files
Myasnikov Daniil 9868c43e53 fix(build): read --cache-from from ghcr :latest so PR builds warm-start
PR #2711 switched PR builds to push only :pr-<N>-<sha> tags (PUBLISH_FLOATING=0) to stop concurrent-push 409 conflicts, but left --cache-from pointing at $(REGISTRY)/<img>:latest. PR builds set REGISTRY to the per-CI registry (iad.ocir.io) and never publish :latest there, so every PR build's registry cache lookup 404s and rebuilds cold.

Add a CACHE_REGISTRY knob (default ghcr.io/cozystack/cozystack, where release builds do publish :latest) and point every --cache-from at it. Push targets ($(REGISTRY)) and the unique per-PR tags are unchanged, so the #2711 anti-conflict behaviour is preserved while PR builds regain a warm cache from the last release.

Assisted-By: Claude <noreply@anthropic.com>
Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
2026-06-09 14:24:36 +05:00

20 lines
789 B
Makefile

NAME=cozystack-controller
NAMESPACE=cozy-system
include ../../../hack/common-envs.mk
include ../../../hack/package.mk
image: image-cozystack-controller
image-cozystack-controller:
docker buildx build -f images/cozystack-controller/Dockerfile ../../.. \
$(call image-tags,cozystack-controller,v$(COZYSTACK_VERSION)) \
--build-arg VERSION=v$(COZYSTACK_VERSION) \
--cache-from type=registry,ref=$(CACHE_REGISTRY)/cozystack-controller:latest \
--cache-to type=inline \
--metadata-file images/cozystack-controller.json \
$(BUILDX_ARGS)
IMAGE="$(REGISTRY)/cozystack-controller:$(IMAGE_TAG)@$$(yq e '."containerimage.digest"' images/cozystack-controller.json -o json -r)" \
yq -i '.cozystackController.image = strenv(IMAGE)' values.yaml
rm -f images/cozystack-controller.json