mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-09 20:26:33 +00:00
The five images in test-environment.yml were a verbatim copy of the dev_runtime_image field of every distro in meta/distros.yml. A prepare job now reads them through utils.distros and publishes a JSON array that the matrix consumes with fromJson, so adding or dropping a distro no longer needs a workflow edit. The resolver runs on the bare interpreter because utils/distros.py is stdlib-only. An empty list aborts the resolver: GitHub skips a job with an empty matrix silently, which would leave the run green with nothing tested. The lint could no longer compare literals, so it walks the wiring instead: axis expression to needs edge to job output to step id, then runs that step body the way the runner does and compares what it writes to GITHUB_OUTPUT against the SPOT. The Act example in the iteration docs was the last remaining literal and now reads the SPOT too. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>