Files
esh-pfi-infrastructure/configs/buildkit/ana-docker/prune.sh
T

22 lines
776 B
Bash

#!/bin/bash
# Bound regenerable cache on ana-docker's named CI builders. BuildKit protects
# in-use references. Stopped builders cannot grow and are left stopped.
set -euo pipefail
failed=0
for builder in buildx_buildkit_worldtree-builder0 buildx_buildkit_skaldsong-builder0 buildx_buildkit_soong-builder0; do
if ! state=$(docker inspect --format '{{.State.Running}}' "$builder" 2>/dev/null); then
echo "$builder: absent, skipped"
continue
fi
if [ "$state" != true ]; then
echo "$builder: stopped, skipped"
continue
fi
echo "$builder: reclaim unused cache toward 10 GiB budget"
if ! docker exec "$builder" buildctl prune --all --keep-storage 10240 | tail -1; then
echo "$builder: cache pruning failed" >&2
failed=1
fi
done
exit "$failed"