CI: stop leaving our own images on the shared runner #86
No reviewers
Labels
No labels
area/ai
area/backend
area/frontend
area/infra
area/scheduler
area/wled
good-first-issue
priority/high
priority/low
priority/medium
type/bug
type/chore
type/ci-cd
type/docs
type/feature
type/qa
v1.0.0
v1.1.0
v1.2.0
v2.0.0
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
rbrooks/Iris-WLED!86
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/reclaim-runner-disk"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Follow-up to #78. Stops this repo leaking images onto the shared Forgejo runner.
What it does
docker-e2ebuilt and loaded a ~350MB image every run and moved theiris:e2etag, orphaning the previous layers. The reaper added in43d3a32removed containers and networks but never images, so nothing reclaimed them.Cleanup now drops our own tags —
iris:e2eplus the two registry tags applied on a push — so the leak never happens, rather than being swept up afterwards. On a push the registry already holds the image; these are only local tags.The step also reports
docker system dfeach run, so disk pressure shows as a visible trend instead of a mystery failure.Scope narrowed after review
An earlier revision of this branch ran
docker image prune -f --filter "until=2h". That would have removed dangling images belonging to every other repo on the shared daemon. Per the operator: general housekeeping is the infrastructure's job. This workflow now cleans up only what it creates.What this does NOT fix
Two runs died on a full runner today:
error: failed to write new configuration file ... .gitconfig.lockResourceExhausted: ... no space left on deviceNeither is fixed here. The exhaustion was in
/var/lib/buildkit— build cache — which image removal does not touch, and which the infrastructure sweeps handle. I had earlier claimed build cache was "largely self-limiting becausesetup-buildx-actioncreates and removes a builder per run", and scoped my first attempt on that basis. That was wrong: the runner reported 20.19GB of build cache and ran out of space inside it.This commit only stops Iris adding to the pile. The measured leak was real — the earlier revision's prune reclaimed
185.3MBof our orphaned layers in a single run — but it is roughly two orders of magnitude smaller than the build cache that actually filled the disk.Evidence from the earlier revision's run
081a29832c3326205f1d3326205f1d09b4c1ea1eCI: reclaim dangling images so the shared runner stops filling upto CI: stop leaving our own images on the shared runner