#!/usr/bin/env sh # Each workflow uses a fresh run-scoped builder, created by setup-buildx-action. # Never remove another job's builder from a shared Docker daemon. set -eu name="${1:-evofw}" config="${2:-deploy/docker/buildkitd.toml}" docker buildx inspect "$name" --bootstrap >/dev/null container="$(docker ps -q --filter "name=buildx_buildkit_${name}0")" [ -n "$container" ] || { echo 'BuildKit container missing' >&2; exit 1; } effective="$(mktemp)" trap 'rm -f "$effective"' EXIT HUP INT TERM docker exec "$container" cat /etc/buildkit/buildkitd.toml >"$effective" for expected in 'reservedSpace = "2GB"' 'maxUsedSpace = "12GB"' 'minFreeSpace = "5GB"' 'keepDuration = "48h"'; do grep -F "$expected" "$effective" >/dev/null || { echo 'BuildKit effective GC configuration mismatch' >&2; exit 1; } done