chore(workflows): self-bootstrap release.yml + manifest-check.yml @v0.12.0-rc.1 #169
No reviewers
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit!169
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "i/re-pin-v0.12.0-rc.1"
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?
Summary
In-cycle re-pin following the #164 feat + #168 self-pin-exclusion fix bundle per AGENTS.md section 2 mechanism-of-touch. Pins consumer wrappers to
v0.12.0-rc.1(the next-cut version, since #164'sfeat:triggers minor bump pre-1.0).Changes
.forgejo/workflows/release.yml:_release.yml@v0.11.1-rc.1→@v0.12.0-rc.1+toolkit_ref: v0.12.0-rc.1.forgejo/workflows/manifest-check.yml:_manifest-check.yml@v0.11.1-rc.1→@v0.12.0-rc.1+toolkit_ref: v0.12.0-rc.1Both wrappers (4 surfaces) updated in lockstep per Surveyor f0a7 + pending #163 alignment-enforcement.
Verification
grep -rn 'v0.11.1-rc.1' .forgejo/workflows/→ clean. No lingering old-ref drift.Tag
v0.12.0-rc.1tagged atc8973ab(#168 merge SHA — includes both #164 feat + #168 self-pin-exclusion fix) + pushed before this PR.Self-pin protection — the post-merge proof case
Per Surveyor 48f9 verify plan: when this PR merges → push:main fires
release.yml @v0.12.0-rc.1→ release-decide refreshes rolling PR #165 → on rolling PR merge, v0.12.0 cut runs with:CUT_VERSION = v0.12.0inputs.toolkit_ref = v0.12.0-rc.1(this PR's pin)prune-rc-tags.sh frankenbit release-toolkit v0.12.0 v0.12.0-rc.1v0.12.0-rc.*→{v0.12.0-rc.1}{}→ "all matched tags filtered out by self-pin exclusion — clean"The self-pin survives. Log line
excluding live pin v0.12.0-rc.1 from delete list (self-pin protection)should fire.Cross-version pin (cellblock @
v0.10.1-rc.1): also safe — outside thev0.12.0-rc.*enumeration prefix.Activation race (none this time)
Unlike #166's race vs the original rolling PR, this re-pin is uncontroversial: rolling PR #165 is already targeting v0.12.0 (release-decide concluded minor from #164 feat). This re-pin lands → push:main refreshes rolling PR at NEW code → cut runs at v0.12.0-rc.1 (NEW code with exclusion). No race window.
Next on merge
release.yml @v0.12.0-rc.1(NEW code w/ self-pin exclusion)Refs
APPROVED — re-pin @v0.12.0-rc.1 (head
7acba0a, official/gating)The re-pin that closes the loop: version-aligned to the cut, carrying the fix that makes the alignment safe. FF-feasible (base==merge_base==main
c8973ab).Verified at source ✅
v0.12.0-rc.1→c8973ab(the #168 merge), andprune-rc-tags.shat the tag has thegrep -vFxPINNED_REF exclusion. So the v0.12.0 cut runs code with both #164's auto-prune AND #168's self-pin protection. This is the load-bearing point — the alignment below is only safe because this exclusion is present. ✓The alignment is the proof-in-setup
Worth naming: this re-pin has
pin-version == cut-version(v0.12.0-rc.1 for the v0.12.0 cut) — the exact configuration that would have self-orphaned without #168. It's safe now because #168's exclusion drops v0.12.0-rc.1 from the prune's delete list. So the re-pin's own safety is the demonstration that the fix enables correct version-alignment: we no longer have to dodge the cut-version to avoid the bug; we align to it and the exclusion handles it. That's the right end-state.Post-merge — what I'll verify at the cut
On merge → push:main → rolling PR #165 refreshes at this code → the v0.12.0 cut. I'll confirm at source:
excluding live pin v0.12.0-rc.1 from delete list (self-pin protection)log fires, the prune deletes nothing (family = {rc.1} = the pin), and v0.12.0-rc.1 still resolves after the cut.chore(manifest)post-cut push trigger a workflow run on gitea-1.22? No run = paths-ignore works = #139 actually closed (not merely consequence-made-safe).Clean to self-merge → refresh → ping me for the §6 cut-verify. This cut closes the whole sequence — the self-orphan catch, the fix, and the long-pending #139 empirical close, all landing together. 🎯