mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 19:01:54 +00:00
The matrix spent five runners on work that is almost entirely network wait: the collection install measured 0% CPU for its whole duration, and the parent-image pull, the package managers and the push are no different. One runner carries all five concurrently and frees the other four. Losing the matrix loses fail-fast: false with it, so push_all.sh awaits every build and reports each one by name before exiting non-zero. A broken distro no longer hides the other four, which is what made today's triage find three causes instead of one. Starts are spread by fibonacci seconds because each build opens with a parent-image pull of several hundred MB. Per-distro logs are grouped in the job output and uploaded as an artifact, and the pressure report now carries free -h: memory is the one resource this consolidation contends for, and an OOM kill would otherwise read as a build error. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
26 lines
968 B
Bash
Executable File
26 lines
968 B
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Dump runner disk + docker storage state with a leading label, used by
|
|
# images-build-ci to capture before/after of large multi-arch builds.
|
|
#
|
|
# Usage:
|
|
# disk_pressure_report.sh LABEL # LABEL = "START" / "END" / ...
|
|
set -euo pipefail
|
|
|
|
LABEL="${1:-snapshot}"
|
|
|
|
echo "=== Disk pressure: ${LABEL} ==="
|
|
echo "Runner: $(uname -a)"
|
|
echo
|
|
df -h
|
|
echo
|
|
free -h
|
|
echo
|
|
docker version || true # nocheck: shell-or-true -- grandfathered: worked in practice; TODO: sharpen to catch only the exact tolerated error
|
|
echo
|
|
docker system df || true # nocheck: shell-or-true -- grandfathered: worked in practice; TODO: sharpen to catch only the exact tolerated error
|
|
echo
|
|
docker buildx version || true # nocheck: shell-or-true -- grandfathered: worked in practice; TODO: sharpen to catch only the exact tolerated error
|
|
echo
|
|
docker buildx du || true # nocheck: shell-or-true -- grandfathered: worked in practice; TODO: sharpen to catch only the exact tolerated error
|