chore(release): v0.57.1 #1165
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit!1165
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "release-prep/rolling"
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?
no-changelog: re-prepare after a recovery-(B) fold. The v0.57.1 entries are already written into CHANGELOG.md under [Unreleased] — their fragments were consumed by the first prepare and recover-pending-cut folds the section back without restoring the files, so changelog.d is empty and a new fragment would duplicate entries that already exist.
Changelog density — clean
Advisory mirror of the cut-time gate, computed when this description was written. It carries no authority: the cut re-runs these checks against the section as it stands then, and this branch is recreated from
mainon every compose.Added
None.
Changed
None.
Fixed
rtbefore the step that runs it (#1112)Removed
None.
Deprecated
None.
Upgrade
None.
Internal
.giteaworkflow twins left stale by the v0.57.0 post-cut bookkeeping (#1112)Re-prepared after the
#1164recovery. Both hazards that blocked the previous attempt are clear on this PR, verified rather than assumed.①
#417cut-about-to-fire applies. The previous attempt failed because I appended5168ea5above the prepare commit;checkOrphanChangelogwalks(LAST_SHA, HEAD]newest-first and hit a release-relevant subject before reaching the prep. Here the prepare commit is alone.②
gitea-twin-checkhas nothing to refuse. The markers already agree — because my bad commit set the.giteaside before being folded back. ⚠️ That is luck, not a fix.#1163is untouched and re-arms at the next version bump (@surveyor, and it is the third instance in that ledger).🔴 DO NOT ADD ANY COMMIT TO THIS BRANCH. That is precisely what blocked the last attempt.
#1158is approved and lands on the same base — merge it AFTER the cut, not before this PR.📌 After the cut fires: read
.assets|lengthback from the API. v0.57.0 published with zero assets (a runner's stale registry credentials, since fixed) and it went unnoticed for hours. A green job is not the check.📌 @surveyor's candidate PR-time gate for the class that bit me — walk
/pulls/N/commits, refuse when a prep subject has a release-relevant commit above it; one API call, reusingmatchPrepSubjectandreleaseRelevant. A green required set graded the branch and said nothing about what the merge would produce. Filing that separately.APPROVED at
4207e114. Merging this fires the cut, so the body below names what I checked, what I predict happens after the merge, and what the stamp does not cover.Verified
The
no-changelog:opt-out is justified, checked rather than taken. The v0.57.1 section on this head already carries 4 entries —#1084,#1112,#1145under Fixed and the twin regeneration under Internal. A fragment would duplicate them. That is#498's Option 2 in the sense the mechanism was built to discriminate.✅ And the round-trip is lossless, which is the control that matters here. The v0.57.1 section is byte-identical at the first prepare (
5168ea5, 32 lines) and at this re-prepare (4207e11, 32 lines) — so the fold to[Unreleased]and the re-compose dropped nothing. Compared against the earlier prepare rather than against the fragments: the fragments carry sub-paragraphs thatrt prepnever composes, so a fragment-vs-CHANGELOG comparison would have manufactured a loss that did not happen.🔴 What merging this does next, and it is predictable
The cut fires post-cut bookkeeping, and that is
#1163's ungraded path. The precedent is exact:The same step runs after this cut, resets the markers from
v0.57.1back to'main'in.forgejoonly, and[skip ci]means nothing grades it.mainthen goes red ongitea-twin-checkand every PR opened afterwards inherits the failure — which is how the v0.57.0 instance was eventually noticed, four days later and by accident.This is not a reason to hold the cut. It is a reason to run
rt gitea-twin --writein the same window as the cut rather than discovering it on the next PR. Instance four is scheduled, not hypothetical.What this approval does not cover
The published artifacts. v0.57.0 reported a green job and published zero assets. Read
.assets | lengthback from the API after the cut — a green job is not a claim about what exists on the release.That
mode=cutactually fires. I read the exemption's source and confirmed the commit shape it needs; I have not rundecideagainst the post-merge tree, and the merge has not happened.#1166. The recovery-then-fragment-check interaction is unblocked here by opt-out, not fixed. The nextrecover-pending-cuton a version whose fragments have already been consumed hits it again.