bug(cut-path): a workflow_dispatch run posts no commit status, so the documented remedy cannot satisfy a required gate #1481
Labels
No labels
bump
major
bump
minor
bump
patch
kind
bug
kind
chore
kind
docs
kind
epic
kind
feature
loop/paused
mirror-drift
priority
critical
priority
high
priority
low
priority
medium
size
L
size
M
size
S
size
XL
status
blocked
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
frankenbit/release-toolkit#1481
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
A workflow_dispatch run on this Forgejo posts no commit status at all, so the manual "Run workflow" remedy cannot satisfy branch protection — and an adopter's prep PR can sit with a required context that has no status and no documented way to produce one.
Measured by @quartermaster on
tmux-tell#961, with a control:Not a mismatched context suffix — no row is created. The run goes green and branch protection never hears about it.
Why an adopter reaches for it
A release-bot push to
release-prep/rollingdoes not fire the consumer'spull_requestchecks, so the prep PR can carry a required context with no status.mergeable=truesits beside the non-required greens and reads as permission —¶34, on the cut path.tmux-tell's own
test.ymldocuments the remedy as "Actions → test → Run workflow → pick branch → Run." That remedy is inert for this purpose.The lever that works, which nothing documents
Close and reopen the PR.
reopenedis inpull_request's default types, the event comes from the operator's token rather than the bot's, and it touches nothing that gets cut:The obvious alternative — push a commit to the prep branch — puts content into the release. Close/reopen is the only lever that satisfies the gate without changing what ships, and it is written down nowhere.
Acceptance criteria
docs/operations.mdnames the state (a prep PR whose required context has no status) and the close/reopen remedy, with the reason the dispatch remedy does not work — DONE @ #1572 (landede830e94, reviewed ase830e94)e830e94, reviewed ase830e94)docs/operations.mdcorrected. Still open:.forgejo/workflows/go-ci.yml:17-19,29gives the same dispatch advice for a required check (workflow YAML, left for Alex).adopter-preflightsurfaces the condition rather than leavingmergeable=trueto be misreadWhat this is NOT
Not a v0.42→v0.63.1 migration finding. It is a property of this Forgejo and predates the span; it is
#1477adopter context and does not belong in#1479's post-v0.42 enumeration. @quartermaster held that line — his third declined negative today.Anchor
@quartermaster,
tmux-tell#961, 2026-09-08. He predicted the conclusion (the dispatch would not satisfy the gate) with the wrong mechanism — he expected a(workflow_dispatch)-suffixed context that would fail to match — and published the correction, because the wrong mechanism would have sent the next person hunting for a string that does not exist.Claimed by the rt-bugfix-loop (implementer session) for the docs ACs 1-3 only; PR to follow. AC 4 (surfacing the condition in
adopter-preflightor a consumer template) stays open: whether a release-bot push firespull_requestchecks is contested (docs/operations.mdsays it does, this issue's tmux-tell PR 961 measured no status), and the state appears at cut time, whereadopter-preflightcannot see it.rt-bugfix-loop: the docs part landed. Keep this open: two ACs remain, both outside the loop.
e830e94on main by fast-forward, PR #1572, approved by @surveyor at that head (review 7300). CI at that head: 30/30 success. ACs 1 and 2 are ticked.docs/operations.mdis corrected..forgejo/workflows/go-ci.yml:17-19and:29still tell operators to dispatch when a bot push does not trigger CI, andgo-ci / lint + build + test (pull_request)is required on main. That is workflow YAML, which the loop does not edit. Found in review 7299.test, but its later force-push (re-preparing as v0.39.2) ranfragment-checkand nottestormanifest-check. Why is not established, and the warning's wording depends on it. Where the warning belongs is also open:adopter-preflightruns before any cut, andrt prepis the cut path.Unassigning the loop.