chore(ci): move the release-toolkit PR gates into one pr.yml and bump the pin past the gate-removal cut #181
Labels
No labels
kind
chore
priority
low
size
S
status
blocked
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
frankenbit/cellblock#181
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Part of frankenbit/release-toolkit#1530. Waits for both of these:
reusable-pr-gates.yml(rolling PR frankenbit/release-toolkit#1549);Now (read at
c6d7a55, 2026-10-04)release.ymlreusable-release.yml@v0.42.0manifest-check.ymlreusable-manifest-check.yml@v0.42.0fragment-check.ymlreusable-changelog-fragment-check.yml@v0.42.0mainrequires no status today.Why
release-toolkit's CI runner has one slot, shared by every repo. The toolkit is replacing its single-gate reusables with one
reusable-pr-gates.ymlthat runs every gate in one job. Tags from before the removal keep working, so nothing here breaks until the pin moves.The jump crosses v0.57.0. From that version,
rtis fetched with a minisign check, and the repo needs the public key (frankenbit/release-toolkit#1479).Migrating also turns on the landing-tree replay (frankenbit/release-toolkit#1548). The gates then grade what would land on
main, not just the PR head. A PR whose branch no longer applies cleanly goes red with "rebase locally".Acceptance criteria
RELEASE_TOOLKIT_MINISIGN_PUBLIC_KEYis set for the repo before the pin moves (frankenbit/release-toolkit#1479). — DONE @ #182 (df82f8f, reviewed asdf82f8f, review 7249). It is set at the frankenbit org scope (key idD11C3791DB75C907). The PR run loggedminisign signature OK (1 trusted key(s) available).manifest-check.ymlandfragment-check.ymlare deleted. A newpr.ymlcallsreusable-pr-gates.ymlatv0.66.0or later withlayout: combined, with manifest and fragmentsonand every other gateoff. — DONE @ #182 (df82f8f, reviewed asdf82f8f, review 7249).pr.ymlfollows ADR-0013's wiring rule: itspull_requesttypes includeedited, and it has nopaths:filter (frankenbit/release-toolkit#644). — DONE @ #182 (df82f8f, reviewed asdf82f8f, review 7249).mainrequirespr.yml's caller status, which is the status of the job inpr.ymlthat callsreusable-pr-gates.yml(frankenbit/release-toolkit ADR-0013 D3 and D4). Apr.ymlthat fails to parse then blocks merges instead of passing silently. — DONE 2026-10-05: afterpr / gatesposted success on rolling PR #183 (run 307; its log shows the gates ran, withcut consumed), the operator enabled status checks and required it. Read back via the API:enable_status_check: true, requiringpr / gates (pull_request).release.ymlis pinned to the same tag. — DONE @ #182 (df82f8f, reviewed asdf82f8f, review 7249). Its first push run, 305, resolvedv0.66.0from the baked value, FETCHed and verifiedrt, and passed the PAT scope check (issue scope: PASS,user scope: PASSas release-bot).prjob's log is read, not just its status. It must show both gates ran and the attest step passed. — DONE @ #182 (df82f8f, reviewed asdf82f8f, review 7249). Run 303 job 1, read in the built-in browser by the implementer and the reviewer:resolved toolkit ref: v0.66.0 (source=baked), FETCH, minisign and trusted comment OK,checksum OK (189ebf7f…), replay PASS, the on gates passed, the off gates were skipped, the tree was unchanged, and attest passed.