A release build never refreshes the build cache it reads. The Makefile always reads the cache from $(IMAGE):latest (--cache-from type=registry,ref=$(IMAGE):latest), but the inline cache is written only into the image that gets pushed, $(IMAGE):$(TAG). A release runs with TAG=vX.Y.Z, so :latest is left alone.
The registry shows it. ghcr.io/cozystack/cozystack/cozy-proxy:latest was created on 2025-08-19, and :v0.3.0 on 2026-04-28. So the v0.3.0 build read its cache from an image eight months older, built before the Go toolchain and dependency bumps.
Two ways out: also push :latest on a release, or read the cache from $(IMAGE):$(TAG) and fall back to the previous tag. Dropping --cache-from is fine too, since the build is small.
A release build never refreshes the build cache it reads. The Makefile always reads the cache from
$(IMAGE):latest(--cache-from type=registry,ref=$(IMAGE):latest), but the inline cache is written only into the image that gets pushed,$(IMAGE):$(TAG). A release runs withTAG=vX.Y.Z, so:latestis left alone.The registry shows it.
ghcr.io/cozystack/cozystack/cozy-proxy:latestwas created on 2025-08-19, and:v0.3.0on 2026-04-28. So the v0.3.0 build read its cache from an image eight months older, built before the Go toolchain and dependency bumps.Two ways out: also push
:lateston a release, or read the cache from$(IMAGE):$(TAG)and fall back to the previous tag. Dropping--cache-fromis fine too, since the build is small.