mirror of
https://github.com/cozystack/cozystack.git
synced 2026-11-10 14:34:58 +09:00
`--cache-to type=inline` only exports the final stage. 25 of 38 Dockerfiles are multistage, so the expensive `builder` stages (Go/Node compiles) were never cached even with a warm tag. Switch every image to a shared mode=max registry cache. - New `cache-args` macro (hack/common-envs.mk) emits `--cache-from` always and `--cache-to … mode=max` only when WRITE_CACHE=1, so PR builds stay read-only and concurrent PRs never race on the cache ref (the 409 class #2711 fixed for tags). oci-mediatypes/image-manifest keep the cache manifest portable across registries. - Cache ref is CACHE_REGISTRY/<img>:buildcache, co-located with the build registry (CACHE_REGISTRY now defaults to $(REGISTRY)). - New build-main.yaml warms :buildcache on every push to main (WRITE_CACHE=1), serialized via concurrency. All 31 package image recipes converted from the inline cache-from/cache-to pair to `$(call cache-args,…)`; ubuntu-container-disk keeps a per-k8s-version cache tag. Verified with `make -n image` across all packages in both PR (read-only) and main (mode=max write) contexts. Part of #2937. Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
26 lines
1.0 KiB
Makefile
26 lines
1.0 KiB
Makefile
REDIS_OPERATOR_TAG=$(shell grep -F 'ARG VERSION=' images/redis-operator/Dockerfile | cut -f2 -d=)
|
|
export NAME=redis-operator
|
|
export NAMESPACE=cozy-$(NAME)
|
|
|
|
include ../../../hack/common-envs.mk
|
|
include ../../../hack/package.mk
|
|
|
|
update:
|
|
rm -rf charts
|
|
helm repo add redis-operator https://spotahome.github.io/redis-operator
|
|
helm repo update redis-operator
|
|
helm pull redis-operator/redis-operator --untar --untardir charts
|
|
sed -i '/{{/d' charts/redis-operator/crds/databases.spotahome.com_redisfailovers.yaml
|
|
|
|
image:
|
|
docker buildx build images/redis-operator \
|
|
$(call image-tags,redis-operator,$(REDIS_OPERATOR_TAG)) \
|
|
$(call cache-args,redis-operator) \
|
|
--metadata-file images/redis-operator.json \
|
|
$(BUILDX_ARGS)
|
|
REPOSITORY="$(REGISTRY)/redis-operator" \
|
|
yq -i '.redis-operator.image.repository = strenv(REPOSITORY)' values.yaml
|
|
TAG=$(IMAGE_TAG)@$$(yq e '."containerimage.digest"' images/redis-operator.json -o json -r) \
|
|
yq -i '.redis-operator.image.tag = strenv(TAG)' values.yaml
|
|
rm -f images/redis-operator.json
|