release.test.ts demands the real Unreleased section — the release PR of the ceremony can never pass CI #108
Labels
No labels
blocked
blocker:ci-red
blocker:conflict
blocker:drill-pending
blocker:unrequested
bug
claimed
documentation
enhancement
epic
merge-next
needs-triage
ready
release
scope:apply
scope:capture
scope:coolify-api
scope:fleet
scope:manifest
scope:secrets
stale
state:addressing
state:bots-reviewing
state:building
state:needs-human
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: heavy-duty/cast#108
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?
The cast twin of heavy-duty/rig's ceremony self-block, found while opening the real
release: 0.1.0PR after the 2026-07-19 drills (fork rehearsals tag a branch — that runsrelease.yml, neverci.yml, which is why two full drills missed it).test/release.test.ts:148-152asserts the REALCHANGELOG.md'sUnreleasedsection extracts non-empty and contains#96. On therelease: X.Y.Ztree the ceremony itself renames that heading to## X.Y.Z — date, so the release PR turns CI red by construction — and post-release main stays red until the next feature PR re-adds an Unreleased section.The guard's intent (its own comment: "the guard against header-format drift") should hold in both legitimate tree states: whatever the TOP
##section is, the exactrelease-notes.shthe workflow runs must extract it non-empty. The hardcoded issue-number grep adds nothing and rots with every release.Fix PR follows.
🤖 Filed from the release-drill session.