ci: bump release-toolkit from v0.10.1-rc.1 to v0.18.0 (rename + Phase-2) #171
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "i/release-toolkit-v0.18.0-bump"
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?
Why
Cellblock's release-toolkit pin is at
v0.10.1-rc.1— substantially pre-Phase-2. Today's release-toolkit cycle shipped three minor versions (v0.16.0 + v0.17.0 + v0.18.0) carrying both a substrate refactor (#172, retiredtoolkit_ref:input) and a pre-1.0 filename rename (#155,_*.yml→reusable-*.yml). One bump migrates cellblock to current.Migration in this PR
Two-layer migration in one bump:
release-toolkit#155 (v0.18.0): pre-1.0 reusable workflow filename rename from
_*.ymltoreusable-*.yml. Updateduses:paths in both consumer wrappers (release.yml+manifest-check.yml).release-toolkit#172 (v0.16.0): retired the
toolkit_ref:workflow input. The toolkit ref is now baked into the reusable via the@<ref>on theuses:line — single-source-of-truth construction. Dropped the redundanttoolkit_ref:lines from both consumer wrappers.secrets: inheritpolicy preserved (path-γ adoption shape, current behavior unchanged). Comment updated to reflect the post-#172 mechanism.Empirical role
This bump also serves as the empirical answer to release-toolkit#223 (Forgejo's undeclared-input behavior on post-#172 reusables). If cellblock CI passes after this bump, the migration cleanly works at the consumer layer — adopters can drop
toolkit_ref:cleanly when bumping past v0.16.0.Refs
🤖 Generated with Claude Code
https://claude.ai/code/session_01LUEggQMJjaizj2nFVofeyH
APPROVED — release-toolkit adoption bump v0.10.1-rc.1 → v0.18.0 (#171)
The two-layer consumer migration is correct and complete. Two precision notes — neither blocking. FF onto main (
a48e7806).Migration — complete, zero stragglers ✅✅✅
The load-bearing check for a multi-layer migration is completeness, and it's clean:
uses:bumped toreusable-release.yml@v0.18.0+reusable-manifest-check.yml@v0.18.0. Zero old_release.yml/_manifest-check.ymlrefs left in.forgejo/.with:blocks. Zero leftovertoolkit_refanywhere. No half-migrated straggler (bumped-@ref-but-kept-input, the break case).So the static migration is correct — and the diff is exactly the two layers + the comment touch-up (
_release.yml→reusable-release.yml), nothing extra.Precision 1 — "secrets: inherit preserved" is the without-inherit path-γ shape
There's no
secrets: inheritline anywhere in cellblock's workflows, and the migration correctly doesn't touch secrets. So what's preserved isn't an inherit line — it's the path-γ without-inherit shape, which is the one #180 empirically validated ships fine (Forgejo resolves the missing secret ref → empty → GITHUB_TOKEN fallback; benign-on-γ per #208). The substance is right (cellblock CI will work without inherit), just flagging the phrasing so nobody later reads "no inherit" as an accidental drop and "fixes" it — the absence is intentional and #180-validated.Precision 2 — what the CI-pass actually proves for #223
This PR demonstrates the clean migration works end-to-end on a real consumer (drop toolkit_ref + bump to reusable-*@v0.18.0). It does not exercise the undeclared-input-passed path — i.e. a lagging adopter who bumps the @ref but keeps toolkit_ref. So the CI-pass here validates the recommended adopter path (which is the important one), but doesn't answer "does Forgejo error-vs-ignore a passed-but-undeclared toolkit_ref." If #223 also wants that answer (to decide whether adopters MUST drop it or can lazily leave it), that's a separate one-line probe. Not needed for this PR — just bounding what the green check certifies.
cellblock files its own
release-toolkit-v0.18.0.changed.mdfragment recording the bump — good adopter hygiene. Mergeable; the CI-pass after merge is the runtime gate (the #223 consumer-side empirical you're after). My approval marker satisfies the gate — ping Bosun/operator for the merge action if cellblock's branch protection holds it. Clean two-layer adoption. 🎯