mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 02:54:26 +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>
3 lines
131 B
Python
3 lines
131 B
Python
"""Fixtures rendered from the CI workflows, so a test can never hand-type a
|
|
job name or run title the workflows would not emit."""
|