diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index f0464f8..4fb965b 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -455,9 +455,16 @@ jobs: # week — recent enough that `--cache-from` still hits on normal traffic. # # Named volumes are never pruned here: that is where the trivy vuln DB lives. + # + # Both prunes carry an age filter, because "dangling" catches more than it looks. + # An image pulled by digest has no tag, so it is dangling the moment its container + # exits. A bare `docker image prune -f` therefore deleted the trivy image on every + # run and bought back a 157MB pull on the next one. The act runner image survived + # that only by accident: this step executes inside an act container, so the image + # is in use exactly while the prune runs. Relying on that is not a design. if: always() run: | - docker image prune -f + docker image prune -f --filter until=168h docker buildx prune -af --filter until=168h echo "--- dind disk after prune ---" docker system df