Skip to content

🏗️🔧:stop the queue citing its own refusal - #1832

Merged
openinf-commit-queue[bot] merged 1 commit into
livefrom
fix/queue-blocks-on-its-own-failure
Aug 18, 2026
Merged

🏗️🔧:stop the queue citing its own refusal#1832
openinf-commit-queue[bot] merged 1 commit into
livefrom
fix/queue-blocks-on-its-own-failure

Conversation

@DerekNonGeneric

Copy link
Copy Markdown
Member

Labelling #1831 a moment before its checks finished made it unlandable from
that commit, permanently. The second attempt, with everything green, said:

#1831 cannot be landed: these did not pass: Land.

Land is the queue's own job.

What happens

A refusal exits non-zero, so the first attempt left a completed check named
Land with conclusion failure on the head commit. checksVerdict left the
queue's own run out by run id, which matches only the run doing the asking, so
on the second attempt that earlier check survived the filter, counted as a
check that did not pass, and refused. Which left another failed Land behind,
and so on.

The first refusal decides every later one. Any pull request labelled while a
check is in flight is stuck until it is pushed to, and the reason it gives is
its own complaint from a minute earlier.

The fix

The workflow passes the name it reports as, and any run under that name is left
out whether it is this one or one from before. The invariant is that the queue
is never a reason to refuse itself: the current run cannot finish until it
stops waiting, and an earlier run describes an attempt rather than the code.

The run id check stays. It costs a line and still holds if the name and the
job's name: ever drift apart.

Tests

checksVerdict had two cases for its own run: the one asking is skipped, and a
different workflow's run still counts. Neither covered a previous run of the
queue itself, which is the gap. Two added:

  • the refusal it left behind is ignored
  • a failure that is not the queue's is still reported

Both fail without the change.

Checks

nps build && nps test passes, 76 unit tests.

After this lands

#1831 is still stuck on its current commit, since the stale check sits on that
SHA and this only changes what future runs read. Landing it needs either a
push to the branch or a merge through the interface.

A refusal exits non-zero, so an attempt made while a check was still
running leaves a failed check named Land on the commit. The next attempt
read that as a check that did not pass, and refused. Every attempt after
the first cited the first, so a pull request labelled a moment too early
could never be landed from that commit again.

The queue already left its own run out, but by run id, which only
matches the run doing the asking. The workflow now also passes the name
it reports as, and any run under that name is left out whether it is
this one or one from before.

Two tests: the refusal it left behind is ignored, and a failure that is
not the queue's is still reported.

Signed-off-by: Derek Lewis <DerekNonGeneric@inf.is>
Assisted-by: Claude-Code:claude-opus-5
@netlify

netlify Bot commented Aug 18, 2026

Copy link
Copy Markdown

Deploy Preview for gh-pages-openinf ready!

Name Link
🔨 Latest commit f6cb23c
🔍 Latest deploy log https://app.netlify.com/projects/gh-pages-openinf/deploys/6a849922e38d6700080cecfc
😎 Deploy Preview https://deploy-preview-1832--gh-pages-openinf.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@DerekNonGeneric DerekNonGeneric added the commit-queue Land this pull request when its checks pass label Aug 18, 2026
@openinf-commit-queue
openinf-commit-queue Bot merged commit 1050a41 into live Aug 18, 2026
15 checks passed
@openinf-commit-queue openinf-commit-queue Bot removed the commit-queue Land this pull request when its checks pass label Aug 18, 2026
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.

1 participant