chore(release): v0.5.0 #84
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!84
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?
Added
Fixed
Added
v0.5.0 docs lock-in — the final slice of the v0.4.0 architectural arc (#52).
docs/integration.mdrewritten for the v0.4.0+ shape —push: branches: [main]trigger, rolling-PR mechanic, single_release.ymlreusable (no more separaterelease-draft.yml). Added two new sections: (a) Fragmentsummary:frontmatter explaining the (B1) release-notes/CHANGELOG bifurcation + the quote-your-#-references convention with the empirical YAML-comment-truncation regression guard; (b) Branch protection compatibility explaining the (B) manifest-via-PR cut-path mechanic + the auto-merge fallback behavior.AGENTS.md(new) — the implementer pre-flight checklist for contributors touching_release.yml/release-prep.sh/draft-release.sh/lib/fragments.sh. Codifies the carry-forward enumeration discipline (predecessor-step audit; Surveyor ec4c framing), the self-bootstrap re-pin pattern (Surveyor b7e7 axis-sharpening — mechanism-of-touch, not version-magnitude), the YAML / awk / bash gotchas surfaced during the v0.4.0–v0.5.0 arc, cut-verification-as-load-bearing (Surveyor d64a), decision-tree-not-conclusion in PR bodies, source-grounded vs invented claims (Surveyor 5bbe placebo-test catch + 6a82 stale-clone-origin-main self-correction), and the filed-root-cause-is-hypothesis discipline. Each item is anchored to the specific empirical catch that surfaced it.docs/migration/v0.3-to-v0.5.md(new) — step-by-step migration guide for v0.3.x consumers moving to v0.5.0. Covers therelease.ymlrewrite,release-draft.ymldeletion, manifest bootstrap, branch-protection check, and optionalsummary:frontmatter retrofit. Includes a rollback section —@v0.3.xworkflows remain published, no forced cutover.changelog.d/78-cut-path-manifest-via-pr.fixed.mdupdated with asummary:frontmatter so the v0.5.0 release-notes body is concise (operator-flagged on the v0.4.0 cut; per Surveyor 015d's sequencing flag this had to land in slice 5 before the v0.5.0 cut to avoid shipping the long fallback in production release notes).Closes #52 slice 5.
Fragment frontmatter (B1) — release-notes vs CHANGELOG.md bifurcation. Fragments now accept an optional YAML frontmatter with a
summary:field that feeds into the Forgejo release-notes body without affecting CHANGELOG.md composition (the full body still lands there, verbatim, for repo history / developer audience). The release-notes pipeline reads.release-toolkit-release-notes.md(a sidecar written byrelease-prep.shfrom fragment summaries grouped by kind);draft-release.shconsumes the sidecar as the release body, falling back to the CHANGELOG section when the sidecar is absent (v0.3.x behavior preserved).Authors can opt in by adding frontmatter to any fragment:
Quoting is required when the summary contains
#(YAML treats unquoted#as start-of-comment; the bats suite includes a regression guard demonstrating the truncation behavior so the convention is enforced empirically, not just documented). Block-scalar form (summary: |) is also supported for multi-line summaries.Fragments without frontmatter continue to work unchanged — the fallback path uses the first non-empty paragraph of the body as the summary. Backward-compatible; opt-in per fragment.
Lighter sibling of ADR-0006 path (a3) — bifurcates the prose without bifurcating the lifecycle (sidecar overwrites each cut; CHANGELOG.md accumulates). Closes #77.
Fixed
_release.ymlcut path +lib/forgejo-api.sh: the cut path now opens a PR for the manifest update instead of direct-pushing tomain, then attempts to auto-merge via the Forgejo API. Previously the workflow'sGITHUB_TOKENgot rejected by the pre-receive hook on any branch-protectedmain(whereapply_to_admins: false); the cut completed the draft release but left the manifest update stranded. The new path is self-contained — no admin-scope tokens required from consumers (path (B) in #78, operator-selected over (A) admin-PAT for the security-surface asymmetry). New helpersforgejo_merge_pr+forgejo_create_issue_commentadded tolib/forgejo-api.sh. If auto-merge fails (e.g., branch protection still forbids the workflow token from merging), the PR sits open with an explanatory comment and manual-merge instructions in the body. Closes #78.830a523851to04cc73999aClosing as stale. This PR was opened at 00:40:40 by the Layer 2 cut-safeguard protective fall-through after operator merged the original v0.5.0 rolling PR #80 at 00:40:30 —
forgejo_find_pr_by_merge_shalookup lagged ~8s behind the merge, so Layer 2 couldn't verify #80's head=release-prep/rolling provenance and fell through to mode=update (safe-fail), opening this PR as a precaution.The actual v0.5.0 cut was later dispatched manually (after Forgejo's API caught up) and completed end-to-end: v0.5.0 draft → operator Publish → v0.5.0 GA, with PR #85 carrying the manifest update.
Follow-up trackers filed for the underlying substrate gaps:
No merge action needed on this PR. The release-prep/rolling branch is preserved (stable identity); the next legitimate mode=update will force-reset it cleanly.
Pull request closed