mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 11:46:35 +00:00
Every distribution built FROM `base-debian`, so the arch, ubuntu, fedora and centos images were all asking the registry for the debian parent. push.sh exports INFINITO_DISTRO from MATRIX_DISTRO and then sources the env layer, which is correct as far as it goes: load.sh snapshots caller-set values and restores them, so the distro survives. INFINITO_PARENT_IMAGE is not set by the caller, though, and arrives already materialised in .env, rendered for whichever distro generated that file. Setting the distro in a loop therefore never reaches the reference derived from it. The new resolver renders it through utils.distros.base_image() rather than composing the string, because test_distros_spot rejects an image reference built anywhere but the SPOT. It sits beside local.sh, ci.sh and service_ref.sh, which resolve the other image names the same way. Verified: arch, fedora and ubuntu now resolve to three different parents where they previously resolved to one. shellcheck is clean and test_distros_spot passes, which is what proves the resolver stays inside the SPOT. Not verified: the build step that calls it. push.sh runs only in CI, and the base images are not published yet, so a real run still stops at the pull before it reaches this line. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>