Follow-up from assembly-line run 2026-08-23-upstream-v-tag (PR #18).
build_cloudflare-modules.yaml cannot be executed locally, so every verification in that run was static: a YAML parse, shellcheck on the extracted run: block bodies, and a manual trace of both possible caddy_tag values through each consumer. Nothing exercised a live Actions run, a real crane copy or a real docker/metadata-action invocation. Both inspectors of the workflow package raised this caveat independently, and the final review judged it non-blocking for that PR because the change reuses a guard the existing caddy-<x.y.z> tag already proves in production.
The open question is whether this repository wants a local dry-run path for its build workflow at all. Candidates, none evaluated yet:
act for a local Actions run, at the cost of a Docker-in-Docker setup that will not reproduce the multi-arch push.
- A pull-request-scoped job that runs the
decide and meta steps with push: false and asserts the resulting tag list, which would cover exactly the class of change this PR made.
- Accepting static verification as the standard for this workflow and writing that down, so future changes do not re-litigate it.
Follow-up from assembly-line run
2026-08-23-upstream-v-tag(PR #18).build_cloudflare-modules.yamlcannot be executed locally, so every verification in that run was static: a YAML parse,shellcheckon the extractedrun:block bodies, and a manual trace of both possiblecaddy_tagvalues through each consumer. Nothing exercised a live Actions run, a realcrane copyor a realdocker/metadata-actioninvocation. Both inspectors of the workflow package raised this caveat independently, and the final review judged it non-blocking for that PR because the change reuses a guard the existingcaddy-<x.y.z>tag already proves in production.The open question is whether this repository wants a local dry-run path for its build workflow at all. Candidates, none evaluated yet:
actfor a local Actions run, at the cost of a Docker-in-Docker setup that will not reproduce the multi-arch push.decideandmetasteps withpush: falseand asserts the resulting tag list, which would cover exactly the class of change this PR made.