Skip to content

docs(ci): explain nested testsuite workflow refs - #1014

Closed
bketelsen wants to merge 1 commit into
projectbluefin:testingfrom
bketelsen:fix/issue-929-stable-promotion
Closed

docs(ci): explain nested testsuite workflow refs#1014
bketelsen wants to merge 1 commit into
projectbluefin:testingfrom
bketelsen:fix/issue-929-stable-promotion

Conversation

@bketelsen

@bketelsen bketelsen commented Aug 7, 2026

Copy link
Copy Markdown

What problem are you solving?

Stable-promotion triage can mistake test_ref: v1 for proof that every testsuite fix is current. The nested reusable workflow has a separate uses ref, 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-side projectbluefin/actions fix.

  • I am using an agent and I take responsibility for this PR

Changes

  • add the nested workflow/test checkout ref split to the CI failure-mode table
  • direct promotion triage to verify the reusable workflow shown in the run log

Testing

  • just check
  • python3 .github/scripts/validate-docs.py
  • pre-commit run --files docs/skills/ci/references/failure-modes.md

Checklist

  • Conventional commit message
  • No hardcoded secrets or credentials
  • Documentation updated for the reusable CI procedure
  • No image or release-gate behavior changed

Refs #929

Owner-side fix: projectbluefin/actions#409

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>
@castrojo

castrojo commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Superseded by #1077, which carries this change re-cut from current main.

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
16

The conflicts are Containerfile, .github/workflows/{bonedigger,lab-check,pr-validation,promote-testing-to-main,run-testsuite}.yml, build_files/base/20-tests.sh, build_files/packages/base.toml, six skill documents, tests/unit/04-install-kernel-akmods_test.bats, and renovate.json (deleted on main, modified here) — for a pull request whose entire contribution is 13 lines in one documentation file.

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. docs/skills/ci/references/failure-modes.md has grown substantially on main since this was opened, but nothing in it covers the nested-ref distinction, so #1077 carries the triage row and the explanation, with authorship preserved in the commit trailer.

Closing in favour of #1077.

@castrojo castrojo closed this Aug 9, 2026
castrojo added a commit that referenced this pull request Aug 9, 2026
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)
castrojo added a commit that referenced this pull request Aug 24, 2026
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants