chore(release): v0.5.92 (manual bootstrap; v0.5.91 immutable-release lockout)#152
Merged
githubrobbi merged 1 commit intomainfrom May 8, 2026
Merged
chore(release): v0.5.92 (manual bootstrap; v0.5.91 immutable-release lockout)#152githubrobbi merged 1 commit intomainfrom
githubrobbi merged 1 commit intomainfrom
Conversation
Bump workspace to 0.5.92 and skip the burned v0.5.91 tag. GitHub's immutable releases feature permanently locked the v0.5.91 tag name after the original release was deleted (the pre-receive hook on this repo refuses any future ref creation under that name even after the release object is gone). All v0.5.91 changes are rolled forward into v0.5.92; CHANGELOG.md carries a 'Note on the v0.5.91 gap' to explain the discontinuity in the public release sequence. After this release lands, release-plz has a baseline tag (v0.5.92) with the R3.5 dep-version fix in its worktree, so R4 active-mode release-pr / release jobs can take over for v0.5.93+.
githubrobbi
added a commit
that referenced
this pull request
May 8, 2026
…153) Phase R5 of `docs/architecture/release-automation-plan.md`. Deletes the parallel `auto-tag-release.yml` + `update_all_versions.rs` + `version-bump` recipes track that has been driving releases since v0.4.x; release-plz (R4 active since 2026-05-08) is now the sole version-bump + tag creator. This is the point-of-no-return milestone for the release-automation initiative; the bespoke flow can no longer be the fallback on the next push to `main`. Removed (~1430 LOC): - `.github/workflows/auto-tag-release.yml` (168 LOC). - `build/update_all_versions.rs` (1073 LOC). - `scripts/ci/ci-pipeline.rs` (53 LOC) — Phase 7 deprecation shim; `REMOVE-AFTER: v0.5.73` marker satisfied at v0.5.92. - `increment_version` + `version_bump` fns in `scripts/ci-pipeline/src/version.rs`. - `STEP_VERSION_INCREMENT` from `ALL_STEPS` in `scripts/ci-pipeline/src/workflow.rs`. - Version-bump step from `run_enhanced_phase2` (ship.rs) and `phase2_optimized` (phases.rs). - `version-bump` recipe in `just/build.just`. - Version-bump step from `quick-deploy` recipe in `just/dev.just`. - `!build/update_all_versions.rs` carve-out in `.gitignore`. Added (~140 LOC, mostly comments + workflow YAML): - `detect-release-bump` short-circuit job in `.github/workflows/release-cache-warm.yml` — diffs `[workspace.package].version` between `HEAD` and `HEAD~1` and skips the warm matrix when the push is a version bump (saves ~165 runner-min/release because `release.yml` rebuilds + caches that same dep graph anyway). - Bridge step in `release-plz.yml`'s release job — `gh workflow run release.yml ...` after release-plz creates the workspace tag. Replaces the GITHUB_TOKEN anti-loop workaround that R4 deferred to a future GitHub App / PAT setup; uses `workflow_dispatch` (explicitly carved out of the anti-loop policy) instead. Flips `git_release_enable = false` in `release-plz.toml` so `release.yml` owns the GitHub Release page (avoids the body-overwrite race that softprops/action-gh-release would otherwise hit when run against a release-plz-created Release with `body_path: release-notes.md`). Doc updates: - `docs/architecture/release-automation-plan.md` — flip R5 row to 🟢, append four deviation log entries (v0.5.91 immutable-release lockout, R5-before-R4-bakein pragmatic acceleration, R5 cache-warm short-circuit, R5 downstream-trigger bridge resolves prior R4 deferred row). - `docs/architecture/dev-flow-implementation-plan.md` — tick the final Phase 7 bake-in checkbox (deprecation shim retired, `REMOVE-AFTER: v0.5.73` satisfied at v0.5.92). - `CONTRIBUTING.md` — rewrite the Release row in the four-layer quality-gates matrix to describe the post-R5 release-plz flow. - `docs/publishing.md` — flip R3.5 / R5 / R6 status rows to landed; R4 stays 🟡 (active, bake-in pending first release-plz-driven release). - `docs/architecture/security/supply-chain-posture.md` — replace `auto-tag-release.yml` reference with the post-R5 chain. - Trailing comments in `release-plz.toml`, `Cargo.toml`, `scripts/ci-pipeline/Cargo.toml`, `.gitignore`, and `scripts/ci-pipeline/src/{version,workflow,ship,phases}.rs` rewritten to describe the post-R5 steady state and explicitly note the R5 retirement of any pre-R5 tooling they referenced. Validation: - `cargo check --workspace --locked --all-targets` green. - `cargo clippy -p uffs-ci-pipeline --locked --all-targets -- -D warnings` green. - `cargo fmt --all` green. - `actionlint` on the two modified workflow YAML files green. - `just gates-drift` — manifest + consumers agree (23 gates). R4 bake-in completes naturally on the next `feat:` / `fix:` / `perf:` / `security:` commit to `main`, which release-plz will turn into the first end-to-end release-plz-driven release (v0.5.93). At that point the R4 row in the dashboard flips to 🟢 in a follow-up commit. Refs: #148 (R4 active-mode flip), #145 (R3.5 internal-dep version requirements + R6 metadata), #151 (`release_always = false` gate), #152 (v0.5.92 manual bootstrap after v0.5.91 immutable-release lockout).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Manual workspace version bump 0.5.91 → 0.5.92 to recover from the v0.5.91 immutable-release lockout and unblock release-plz active-mode automation.
Why this PR exists
v0.5.91 was prepared and tagged via the bespoke
auto-tag-release.yml→release.ymlchain on 2026-05-08, but therelease.ymlfinalize step hit a server-side ruleset rejection:```
error finalizing release: HttpError: Validation Failed:
pre_receive Repository rule violations found
Cannot create ref due to creations being restricted
tag_name was used by an immutable release
```
After the partial release was deleted to recover, the tag name itself became permanently locked by GitHub's immutable releases feature — the pre-receive hook now refuses any future ref creation under `v0.5.91`, even though the release object is gone (verified twice via `git push origin v0.5.91` and via the REST API).
Resolution
Skip v0.5.91 entirely. Public release sequence jumps `v0.5.90` → `v0.5.92`. All intended v0.5.91 changes are rolled forward; `CHANGELOG.md` carries a Note on the v0.5.91 gap explaining the discontinuity.
What's in v0.5.92
release_always = falseto gate tag creation #151).See `CHANGELOG.md` v0.5.92 section for the full delta.
Post-merge expectations
Validation
Rollback
Revert the merge commit; `v0.5.92` tag is fresh, so it can be deleted (no immutable-release lock unless we let `release.yml` finalise it). Cargo.toml workspace version reverts to 0.5.91 (which is still locked, so a follow-up bump to 0.5.93 would be needed if a re-cut is required).