fix(release): refuse buried prepare commits before merge #719
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
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit!719
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "i/688-premerge-cut-safeguard"
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?
Closes #688
Adds a pull-request status to the existing release wrapper for
release-prep/rolling. The check is deliberately narrower than Layer 2: the generated prepare commit must be HEAD. A later commit fails before merge and names the version, prepare SHA and current head. The release job remains push/dispatch-only.Verification:
run:block passes withchore(release): prepare v9.8.7at HEADexit 1 -> exit 0makes that Bats arm failNot checked locally: Go tests; this chamber has no Go toolchain. The change touches YAML, Bash and Bats only.
Boundary with #690: this PR does not touch
internal/decideor merged-PR lookup.HOLD: the current
prepare commit must be HEADpredicate conflicts with #690 and the supported #259/#663 buried-prepare path. An open PR has nomerge_commit_sha; I am replacing this with the actual pre-merge Layer-2 invariant before requesting another review. Do not stampf52d0f68.Additional hold evidence: the inline prepare regex at
f52d0f68is stricter than the canonicalscripts/lib/prep-subject.shexpression. It rejects supported squash-style subjects and trailing(#N)subjects. Any replacement will source the canonical library rather than add a third regex copy. #690 remains open separately because its decline values are recorded but not emitted.Closing this implementation PR. AC1 was retired as refuted by current main, no replacement invariant is specified, and the workflow-level pull_request trigger introduces two CI failures. Issue #688 remains open for safeguard timing semantics.
Pull request closed