docs(ci): explain nested testsuite workflow refs - #1014
Conversation
Document that a reusable workflow uses ref and its test checkout ref control separate delivery layers, so promotion triage checks both. Refs projectbluefin#929 Assisted-by: GPT-5.6 Sol via GitHub Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Superseded by #1077, which carries this change re-cut from current This branch could no longer be merged. Measured today: $ git merge --no-commit --no-ff origin/main
Automatic merge failed; fix conflicts and then commit the result.
$ git diff --name-only --diff-filter=U | wc -l
16The conflicts are Resolving those by hand would produce a diff that no reviewer could check against the change it claims to make, and every conflict resolved wrong is a workflow or a Containerfile silently reverted. Re-cutting is both smaller and safer. The content still stands. Closing in favour of #1077. |
Stable-promotion triage reads `test_ref: v1` as proof that the testsuite is current. It is not: a reusable workflow carries two independent refs, and `uses` -- which selects the workflow body, including fixes like VM disk sizing -- moves separately from the test tree `test_ref` checks out. Pinning one and managing the other leaves half the stack stale while the caller looks managed. Adds the triage row and the explanation to the CI failure-mode reference. Supersedes #1014, whose branch could no longer be merged: it had accumulated 16 conflicts against main -- workflows, Containerfile, unit tests -- for a change that touches one documentation file. Re-cut from current main so the diff is the change. Refs #929 Co-authored-by: Brian Ketelsen <bketelsen@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: castrojo <castrojo@users.noreply.github.com> (cherry picked from commit f05a382)
Stable-promotion triage reads `test_ref: v1` as proof that the testsuite is current. It is not: a reusable workflow carries two independent refs, and `uses` -- which selects the workflow body, including fixes like VM disk sizing -- moves separately from the test tree `test_ref` checks out. Pinning one and managing the other leaves half the stack stale while the caller looks managed. Adds the triage row and the explanation to the CI failure-mode reference. Supersedes #1014, whose branch could no longer be merged: it had accumulated 16 conflicts against main -- workflows, Containerfile, unit tests -- for a change that touches one documentation file. Re-cut from current main so the diff is the change. Refs #929 (cherry picked from commit f05a382) Signed-off-by: castrojo <castrojo@users.noreply.github.com> Co-authored-by: castrojo <castrojo@users.noreply.github.com>
What problem are you solving?
Stable-promotion triage can mistake
test_ref: v1for proof that every testsuite fix is current. The nested reusable workflow has a separateusesref, so workflow-level fixes such as VM disk sizing remain stale when that ref is pinned. This documents the distinction found while investigating #929 and provides consumer validation for the owner-sideprojectbluefin/actionsfix.Changes
Testing
just checkpython3 .github/scripts/validate-docs.pypre-commit run --files docs/skills/ci/references/failure-modes.mdChecklist
Refs #929
Owner-side fix: projectbluefin/actions#409