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>
GitHub Workflow Helpers 🔧
This directory holds the shell helpers that GitHub Actions workflows under .github/workflows/ call. Helpers are grouped by responsibility into subfolders so each workflow file pulls only from the clusters it actually needs.
Subfolders 🗂️
| Subfolder | Responsibility |
|---|---|
| runner/ | Host-runner hygiene around image builds and deploys (disk, swap, Docker daemon, diagnostics). |
| cancel/ | Cancellation of in-progress workflow runs on PR-close and branch-delete events. |
| cleanup/ | Scheduled repository maintenance that prunes stale GitHub resources. |
| resolve/ | Derivation of structured workflow inputs and outputs from repository state. |
| sync/ | Ref synchronization before workflow jobs derive CI scope from git history. |
| update/ | The scheduled 🔄 Update versions pipeline (version bumps and PR open/refresh). |
| release/ | Release-time gates that decide whether a tagged commit may be released. |
A new helper MUST live in the subfolder that matches its responsibility. New responsibilities MAY motivate a new subfolder, but MUST NOT flatten back into the top level.
For the workflow catalog see workflows.md. For the repository Make target index see make.md.