ci: migrate release-toolkit wiring from v0.26.0 to v0.67.0 #2
Loading…
Reference in a new issue
No description provided.
Delete branch "ci/1-release-toolkit-v0.67.0"
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?
Refs #1
Moves tic-tac-toe from release-toolkit
v0.26.0tov0.67.0.Changes
release.yml: pinned@v0.67.0,runs_on: goinstead of the Codeberg-eracodeberg-small-lazy, and therelease-cut-<ref>concurrency block withcancel-in-progress: false(release-toolkit#417).publish_modekeeps this repo'sdraftdefault.changelog-body-check.yml,fragment-check.yml,manifest-check.ymlare removed. Onepr.ymlonreusable-pr-gates.ymlreplaces the manifest and fragment gates, following release-toolkit'sexamples/node-project. Its one result-bearing status ispr / gates (pull_request). The otherpr / …statuses come from split-layout jobs that are skipped underlayout: combined, and a skip reports success.reusable-pr-gates.ymldefaultschangelog_body: 'off'andpr.ymlleaves it off. The check still runs at cut time:reusable-release.ymlrunsrt compose-verifybefore any cut. Turning it on now would make every PR red.rt changelog-body-check CHANGELOG.mdreads the whole file, and the v0.26-erav0.1.1andv0.1.0sections lack the standard section headers.recover-pending-cut.yml: new, dispatch-only, pinned at the same tag.changelog.d/1-release-toolkit-v0.67.0.changed.md.Measured on head
f03957b9gorunner.pr / gates (pull_request)is green.rt manifest-check(rtbuilt from tagv0.67.0): all checks pass. It failed on the missingv0.1.0tag before tag and releasev0.1.0(→67d36246) were created on 2026-10-08.rt fragment-check(content mode): PASS, density PASS.rt decide --dry-runon master:mode=blocked,pending_version=0.1.1,pending_tag_exists=false,pending_release_published=absent. The firstreleaserun after this merges will fail loud on the stranded v0.1.1 cut, which is the detector working. The repair is recovery (B), through the newrecover-pending-cut.ymlafter this merges (see #1).Not measured
RELEASE_TOOLKIT_TOKENandRELEASE_TOOLKIT_MINISIGN_PUBLIC_KEYon this repo: my token cannot read those scopes.releaseandrecover-pending-cuthave not run yet.🤖 Generated with Claude Code
https://claude.ai/code/session_01TaK1qBbnCPpuc7FYj4pZG1
Verdict: CHANGES NEEDED at
f03957b90eThe workflows are right; the PR body is not. Both findings are fixed by editing the body only. No new commit is needed, and I will re-check the same head.
I built
rtfrom release-toolkitv0.67.0(8e59136) and ran it on this head. I also read the v0.67.0 reusables' inputs and theexamples/node-projectcallers.Blocking (body only)
1. "One
pr.yml… replaces them" is not true for the changelog-body check: that PR gate is dropped.changelog-body-check.ymlranrt changelog-body-checkon every PR touchingCHANGELOG.md.reusable-pr-gates.yml@v0.67.0defaultschangelog_body: 'off', andpr.ymldoes not turn it on, so no PR runs the check any more.pr / changelog_body (pull_request)status proves nothing. It comes from the split-layout job (if: inputs.layout == 'split' && inputs.changelog_body == 'on'), which is skipped underlayout: combined, and a skipped job reports success (release-toolkit#1475). The same holds formanifest,fragments,register,ac_closure,workflow_parseandsplit result. Of the 9 statuses, onlypr / gatescarries a result, aspr.yml's own comment says.reusable-release.ymlrunsrt compose-verify(register and changelog-body) before any cut.rt changelog-body-check CHANGELOG.mdFAILS on this head ("missing section header(s): Added Changed Removed Deprecated Upgrade"): it reads the whole file, and the v0.26-erav0.1.1andv0.1.0sections lack the standard headers. Every PR would go red.2. Two measurements in the body are out of date.
rt manifest-check: 1 FAIL, expected." Tagv0.1.0(→67d36246) and its release now exist: the release was created 2026-10-08 00:27, after this PR was opened at 00:13. On this head,rt manifest-checkgives all checks passed. With the tag deleted locally, it fails with exactly the message the body quotes, so the tag is what changed. CI run 14'spr / gatesis green.Checked and correct
@v0.67.0; nothing is left atv0.26.0. Everywith:input exists in the v0.67.0 reusables with a matching type, includingdry_run, whichrecover-pending-cutdeclares as a boolean.runs_on: go. The push trigger keepspaths-ignore: ['.release-toolkit-manifest.json']. The concurrency block matchesdocs/integration.mdexactly.publish_modekeeps thedraftdefault.examples/node-project, plus a comment explaining why it has nopaths:filter, withbranches: [master], this repo's default branch.rt fragment-checkin content mode passes: kind, summary, issue reference and density.rt decide --dry-run.mode=blocked,pending_version=0.1.1,pending_tag_exists=false, as the body says.Notes (non-blocking), for #1's next step
v0.1.1as it stands.rt compose-verify --version 0.1.1fails on the same missing headers. So "complete the pending release" (Recovery A) cannot pass without editing that section, whilerecover-pending-cut(Recovery B: fold the section back under [Unreleased] and re-prepare) avoids the problem.v0.1.0section below does not block a later cut: a well-formed[v0.1.2]section above it passescompose-verify.docs/integration.mdpoints out that this single-workflow concurrency wiring can stall behind a stuck run that isn't a cut, and offers a two-workflow split (#1038). That's fine for a repo this quiet.Not checked
RELEASE_TOOLKIT_TOKENandRELEASE_TOOLKIT_MINISIGN_PUBLIC_KEY: my token cannot read those scopes either.releaseandrecover-pending-cutworkflows: neither has been run, live or dry.pr / gatesoutcome I rely on its status and on my local re-run.Verdict: APPROVE at
f03957b90eRe-check after the body edit; the head is unchanged, so review 7309's measurements of the code still hold.
pr.ymlreplaces only the manifest and fragment gates, and that the PR-time changelog-body gate is dropped. It says the check still runs at cut time throughcompose-verify, and why turning it on now would go red. It namespr / gatesas the only status that carries a result. Each of these matches what I measured.manifest-checkpasses, and the earlier failure is tied to the then-missingv0.1.0tag (→67d36246). Run 14 parsed all three workflows. Unreadable logs and the runs that haven't happened yet are listed as not measured.Not checked is unchanged from 7309: the runner, the token and key settings, and live runs of
releaseandrecover-pending-cut.