Switch to immutable releases#9601
Conversation
8274270 to
3257c46
Compare
There was a problem hiding this comment.
Pull request overview
This PR updates the repository’s release automation to support “immutable” releases by creating (or reusing) a draft GitHub Release on tag push, attaching all build artifacts to it, then publishing it and triggering downstream update workflows (Homebrew tap + GitHub Action repos) via a short-lived GitHub App token.
Changes:
- Added a “compute release context” job and a “create draft release” job, and adjusted dependencies so artifacts are attached before the release is published.
- Updated npm publishing to use banded dist-tags (latest/major/rc/preview) with logic intended to avoid permanently moving tags on backport publishes.
- Replaced direct Homebrew and action-repo update logic with a new composite action that dispatches and waits for workflows in other repositories.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| .github/workflows/release.yml | Adds draft-release orchestration, immutable/banded npm tagging logic, and dispatch+wait integration for downstream repos. |
| .github/actions/dispatch-and-watch-workflow/action.yml | Introduces a composite action to dispatch a workflow in another repo and wait for completion. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Updates the release pipeline to create/publish immutable GitHub Releases from tags and orchestrate downstream publishing (Homebrew + action repos) via a reusable “dispatch and wait” composite action.
Changes:
- Added a
compute-release-contextjob and acreate-draftjob to derive release metadata and ensure a draft GitHub Release exists before artifacts are uploaded. - Implemented npm “version band” tagging (latest/major/rc/preview) to avoid overwriting
latestwhen patching non-highest stable majors. - Added a composite action to dispatch downstream workflows (Homebrew tap + action repos) and wait for their completion.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| .github/workflows/release.yml | Adds release context computation, draft-release creation/publishing, npm tag banding, and switches cross-repo updates to a dispatch-and-watch composite action. |
| .github/actions/dispatch-and-watch-workflow/action.yml | Introduces a composite action to dispatch a workflow in another repo, locate its run, and watch it to completion. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Changes to our release workflow