image-build loads each build into the runner pod's dind (load: true); the
tags then accumulated forever (dozens of stale 2-3GB tags per pod, a chunk
of the runner disk growth). Untag after a successful push and sweep the
now-dangling previous :latest. The buildkit build cache is separate and
refcounts its own layers, so the next build stays warm; when the repo is
'runner' itself the pod's next job re-pulls the ~380MB job image from the
local registry (cheap). Guarded (continue-on-error + || true) so cleanup
never fails a release.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The org now has more container versions than one API page returns; the
unpaginated list dropped a package's older numeric tags, so KEEP-based
pruning silently left them (base/runner crept to 5). Loop pages at the
max page size instead.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>