ci: harden release pipeline (six-job publish, changeset-check, auto-backmerge) - #394
Merged
Conversation
…us, fix concurrency
…st.closed, not push)
…peline Replace § 7.3 (release.yml → publish.yml), § 8.3 (hotfix.yml → reuses publish.yml), § 9 (custom wrapper reasoning), § 11 + 11a (migration plan as completed), and Appendix A (file inventory). The previous content described an architecture that never landed; the new content matches the actual workflows on the branch.
… pattern Section 5 had old content describing an entrypoint pattern with three reusable workflows (_publish-release.yml, _publish-hotfix.yml, _publish-canary.yml) that never landed. Replace with the actual single-workflow architecture: publish.yml is the only Trusted Publisher entrypoint, and it serves both regular and hotfix release paths. Also fix § 4 (permission claim) and § 7.2 (Code Owners description) to match the actual workflow files.
- collapse bump + push-bump into one job (5-job chain instead of 6) - remove environment: release from validate (publish env gates publish only) - add tag-already-exists guard before git tag in release job - harden changeset-check with a merge-base sanity check and an explicit base-ref fetch (replaces the depth=0 heuristic) PR #394 follow-up.
This was referenced Aug 6, 2026
martyy-code
pushed a commit
that referenced
this pull request
Aug 6, 2026
Conflict resolution: keep the post-#394 description of the workflow permissions (workflow-level permissions: {} is empty, push-bump and release declare contents: write at the job level). Drops the obsolete claim that GITHUB_TOKEN has workflow-level contents: write.
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.
What this PR permits
This PR activates the release pipeline described in the wiki Release-Process page. After this lands, the maintainer can:
What this PR does
Pipeline changes (commits 1-9, the four open issues)
Post-review fixes (commits 10-18, critical bugs + security + docs)
Post-polish (commit 19)
After commit 19, the chain is detect -> push-bump -> validate -> publish -> release (5 jobs).
Mapping to the four open issues
Action required (post-merge)
Verification
Risks
Outstanding senior concerns (post-branch follow-up)
Two senior concerns surfaced during research that are out of scope for this branch but worth flagging:
Subagent review dimensions
Three subagents reviewed this branch in parallel: correctness (workflows, YAML, GitHub Actions expression syntax, Changesets CLI exit-code semantics), security (permissions, OIDC trust boundary, anti-recursion), and documentation (cross-references, version arithmetic, stale sections, code/doc consistency).
Co-Authored-By: Claude Fable 5 noreply@anthropic.com