Repository navigation
docs: add release verification and failure recovery to RELEASE.md - #99
Merged
Merged
Conversation
The release flow was documented up to the version PR merge but not how to confirm a release reached every channel or what to do when part of it fails. Add a verification checklist (tag, Release workflow, GitHub Release assets, Homebrew tap, crates.io) and recovery steps for failed builds, a failed crates.io job, a missing tag, and a tag with no Release run.
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.
Why
RELEASE.mdexplains how a release starts (changeset, version PR, automatic tag and dispatch) but stops there. It does not say how to confirm the release reached every channel, or how to recover when part of it fails.Changes
Two sections in
RELEASE.md, between the normal flow and one-time setup:SHA256SUMS.txton the GitHub Release, the Homebrew tap, and crates.io, then install from one channel and checkglance --version.release.ymlfor an existing tag, what a failed crates.io job means (it iscontinue-on-error), recovering when the tag was never created, and the case where the tag exists but no Release run started (tag-release.shexits early on an existing tag, so rerunningversion.ymldoes nothing).Docs only, so no changeset.
Checks
Each verification command was run against the v1.3.0 release on 2026-10-15: tag present, Release workflow
success, 7 release assets,brew inforeports stable 1.3.0, andcargo searchreports 1.3.0. The recovery steps were checked againstrelease.yml(the release job updates an existing Release; crates.io iscontinue-on-error) andscripts/tag-release.sh(exits early when the tag exists).