Repository navigation
fix(release): recognize manual release retries - #92
Merged
Merged
Conversation
Collaborator
Author
|
lgtm, recognizes matching release retries without hiding failures. |
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.
Problem
pnpm release:awaitreports failure after a successful manual release retry. In the current release tooling, the waiter only lists tag-push runs and requires the run SHA to equal the local checkout's HEAD. It can therefore watch the original failed run, or find nothing from a later workflow-fix commit.Minimal reproduction: a failed
v0.1.14tag run followed by a successfulworkflow_dispatchrun onmainwhose package is still 0.1.14. The new command-level test runs the actual waiter with those GitHub responses and observes the wrong run and nonzero exit before the fix.Root cause
Run selection assumed every release was a push of the current local commit. The supported retry workflow publishes from
mainafter validating unchanged tagged package inputs.Change
Resolve the release tag SHA through GitHub, then select the latest matching tag run or manual run on
main. Manual candidates must have the requested package version at their actual commit; version reads are cached during polling. Continue watching that run with--exit-statusand checking the exact npm version before reporting success.The publishing workflow and its source/provenance checks are unchanged. Retries that fail remain failures, even if an older matching run succeeded. Add the script tests to the existing Node test command and document how to wait after a retry.
Verification
pnpm release:check: 183 JavaScript tests and 11 Rust tests passed, plus types, syntax, Rust formatting, clippy, and package dry-run.Public surface
No published package code or API changes. Only maintainer release tooling, its tests, the workspace test command, and contributor guidance change.