mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 03:38:23 +00:00
The REST API answers inputs: null for a finished workflow_dispatch, so the run name is the only record of what a manual run was dispatched with. It carried one value, distros; everything else silently fell back to the workflow defaults, and a failure that only reproduces on swarm with btrfs came back green from a run that deployed all three modes on whatever filesystem it drew. Render every input as its own <emoji><value> segment instead, omitted when it holds its default, so the title carries exactly what deviates and an absent input means 'leave it on the default'. run_name derives those segments from the workflow rather than knowing them, so the format cannot drift away from the parser without a failing test. distros no longer defaults to debian -- empty draws one at random, the way untagged pushes already do. That leaves nothing in the title, so the effective list is recovered from the discover job names, matched by content against the meta/distros.yml SPOT rather than by job-name shape. Priority roles that fell behind the budget cut in every mode hold no job at all, so failed_roles cannot see them: they are neither green nor red, they never ran. Carry them along or they never deploy. --run now resolves before the selection, so it reproduces a run whatever picks the roles, not only with --failed. tests/utils/ci_*.py move into tests/utils/ci/ -- two files sharing a delimiter-bounded prefix are a folder in disguise, and the structure lint says so. 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.