Pin the e2e clone, keep a loud advisory at HEAD (relay#56) #123

Merged
paulhitt merged 1 commits from ci/pin-the-e2e-clone into main 2026-09-05 11:52:37 +00:00
paulhitt commented 2026-09-05 10:28:49 +00:00 (Migrated from gitlab.com)

conformance and doc-pages both cloned flamenet-e2e at HEAD. That handed
another repository a switch labelled "stop all work here", with nobody told
it had been thrown. It was thrown three times in twelve hours.

Twice it was a stale generated page. The third had no way out from inside
either repository: e2e began expecting the plaintext message routes to be
gone, main here still had them, so conformance failed on every pipeline
— including the pipeline for the branch that removes them. Nothing could go
green until that branch merged, and it could not merge because nothing could
go green. Breaking it took hand-assembling one branch that satisfied both
jobs at once.

The old comment argued FOR the HEAD coupling, and it was not wrong. It
read: "a relay tested against a pinned old harness is tested against a pinned
old spec." That concern is answered rather than dismissed —
conformance-head and doc-pages-head run the same checks against e2e's
actual HEAD on every pipeline, allow_failure: true. Being behind is loud
and non-blocking; being broken is still a hard stop.

Deleting those two advisory jobs would quietly turn the pin into
permission to fall behind, which is the failure relay#46 spent a month
cleaning up. .e2e-ref.md says so where somebody about to delete them will
read it.

Taking an update is now one atomic MR: bump .e2e-ref, regenerate the
pages, and make whatever source change the new harness expects — exactly the
shape relay!57 had to be assembled into by hand.

Verified rather than assumed:

GitLab's own CI lint valid: true
pinned checkout + gate 9 generated pages match their sources
pin moved back 3 commits exit 1, naming spec.leaf and both hashes
pin correct exit 0

That third line is the one that matters: a bump without a regeneration still
fails, so the pin cannot be used to skip the work it implies. I checked the
exit code and not just the message — a gate that prints a complaint and
returns 0 is decoration.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com

`conformance` and `doc-pages` both cloned flamenet-e2e at HEAD. That handed another repository a switch labelled "stop all work here", with nobody told it had been thrown. It was thrown three times in twelve hours. Twice it was a stale generated page. The third had no way out from inside either repository: e2e began expecting the plaintext message routes to be gone, `main` here still had them, so `conformance` failed on every pipeline — including the pipeline for the branch that removes them. Nothing could go green until that branch merged, and it could not merge because nothing could go green. Breaking it took hand-assembling one branch that satisfied both jobs at once. **The old comment argued FOR the HEAD coupling, and it was not wrong.** It read: "a relay tested against a pinned old harness is tested against a pinned old spec." That concern is answered rather than dismissed — `conformance-head` and `doc-pages-head` run the same checks against e2e's actual HEAD on every pipeline, `allow_failure: true`. Being behind is loud and non-blocking; being broken is still a hard stop. Deleting those two advisory jobs would quietly turn the pin into permission to fall behind, which is the failure relay#46 spent a month cleaning up. `.e2e-ref.md` says so where somebody about to delete them will read it. Taking an update is now one atomic MR: bump `.e2e-ref`, regenerate the pages, and make whatever source change the new harness expects — exactly the shape relay!57 had to be assembled into by hand. Verified rather than assumed: GitLab's own CI lint valid: true pinned checkout + gate 9 generated pages match their sources pin moved back 3 commits exit 1, naming spec.leaf and both hashes pin correct exit 0 That third line is the one that matters: a bump without a regeneration still fails, so the pin cannot be used to skip the work it implies. I checked the exit code and not just the message — a gate that prints a complaint and returns 0 is decoration. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
paulhitt commented 2026-09-05 10:28:49 +00:00 (Migrated from gitlab.com)

assigned to @paulhitt

assigned to @paulhitt
paulhitt (Migrated from gitlab.com) scheduled this pull request to auto merge when all checks succeed 2026-09-05 10:29:12 +00:00
paulhitt commented 2026-09-05 11:52:37 +00:00 (Migrated from gitlab.com)

mentioned in commit 7a9841be6e

mentioned in commit 7a9841be6eeb8699167baaf0924d234f5f2f2de3
paulhitt (Migrated from gitlab.com) merged commit 7a9841be6e into main 2026-09-05 11:52:37 +00:00
paulhitt commented 2026-09-09 18:58:55 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
Sign in to join this conversation.