ci: make the self-hosted E2E lanes merge-blocking - #281
Draft
rominf wants to merge 1 commit into
Draft
Conversation
The header claimed these lanes were non-blocking AND that their check names were already in main's required-status-check list. Both halves were wrong in opposite directions: they carried continue-on-error, and none of them were required. A reader had no way to tell what actually gated a merge. Resolve it in the direction the lanes are now good for. Every self-hosted lane has been green apart from the Strix Halo Windows one, whose only host-independent failure is now declared as a known bug. A lane that is permanently red and advisory teaches people to ignore it, which is the same as having no Windows GPU coverage at all. Drop continue-on-error from the four lanes and say plainly, once in the header, what that means -- including the part that is easy to get wrong: continue-on-error only ever suppressed the workflow conclusion, never the per-job check run, so it was not what kept these lanes out of the merge gate. The header also now records the offline-runner consequence, since required self-hosted checks turn a downed runner into a merge outage. The matching branch-protection change adds the five check names to main's required list; it lives outside the repo, so this file is the only place a reader can learn the lanes are blocking. Signed-off-by: Roman Inflianskas <Roman.Inflianskas@amd.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
tests/e2e-cucumber/expectations.tomlfor the fixed ticket ID and removed/narrowed any now-stale xfail rows. — n/a, no product change.Summary
The workflow header contradicted itself, and both halves were wrong in
opposite directions. It said the lanes were non-blocking (
continue-on-error)and that their check names were already in
main's required-status-checklist. In fact none of the five self-hosted checks are required today, so a
reader had no way to tell what actually gates a merge.
This resolves the contradiction in the direction the lanes are now good for,
and drops
continue-on-errorfrom the four lane jobs.Why now: every self-hosted lane has been green except Strix Halo Windows,
whose only host-independent failure is declared as a known bug in #280. A lane
that is permanently red and advisory trains everyone to ignore it, which
gives the same coverage as having no Windows GPU lane at all.
One correction the header now records, because it is easy to get backwards:
continue-on-errorwas never what kept these lanes out of the merge gate. Itsuppresses only the workflow conclusion — the per-job check run still reports
failure(verified on1807a6cd, where the run issuccesswhileE2E tests (Strix Halo, Windows)isfailure). Removing it just stops a runsummary reading green over a red lane.
And one consequence it now warns about: a required self-hosted check turns a
downed runner into a merge outage — the job stays queued, its check never
reports, and branch protection waits forever. That is the #138 failure mode, and
it is why these lanes already live in their own concurrency group. There is no
in-workflow escape hatch; the answer is to restore the runner or temporarily
drop its check from the required list.
Risk: medium — this is what makes four GPU lanes able to block merges. The
branch-protection half lives outside the repo, so this file is the only place a
reader can learn the lanes are blocking.
Scope boundary
Comment and
continue-on-errorchanges only. No job logic, noruns-on, noif:conditions, no step changes — the lanes run exactly as before.Test plan
prek run --files .github/workflows/e2e-selfhosted.yml— clean (check yamlpasses).
changes,e2e-gpu,e2e-gpu-strix-ubuntu,e2e-gpu-strix-windows,e2e-wsl,e2e-report.continue-on-errorgone, the fiveself-hosted checks must all report green once rebased onto a
mainthatcontains test(e2e): xfail the Windows HF-checkpoint serve (EAI-8031) #280.