Files
computer-playbook/scripts/github/runner
kevinveenbirkenbachandClaude Opus 5 466865945b perf(ci): build every distro image concurrently on one runner
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>
2026-09-16 21:24:58 +02:00
..
…

Runner Hygiene 🧹

Shell helpers that prepare and inspect the GitHub-hosted runner host around image-build and deploy steps.

Scope 📋

This directory contains host-level helpers: disk-space reclamation and reporting, swap-file enlargement, Docker-daemon cleanup, and post-failure diagnostic dumps. Helpers MUST be invoked from workflow run: blocks under .github/workflows/ and MUST NOT be called from application code, Ansible roles, or any runtime path outside CI. They assume a GitHub-hosted Ubuntu runner and modify host-kernel state (mount points, swap, Docker storage) that does not exist inside the infinito container.

For the rationale behind disk reclamation and swap enlargement in deploy workflows see the "Disk space" and "Swap" sections in workflow.md. For the workflow catalog that drives these calls see workflows.md.