Prevent transient GitHub errors from polluting release index reads#996
Open
brandonpayton wants to merge 1 commit into
Open
Prevent transient GitHub errors from polluting release index reads#996brandonpayton wants to merge 1 commit into
brandonpayton wants to merge 1 commit into
Conversation
Member
Author
|
Live incident probe evidence: running the patched |
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
During a GitHub outage, one release-asset request can fail and a later retry can succeed. The GitHub CLI writes a JSON error body to standard output for the failed request. The current retry helper forwards output from every attempt, so the error object is joined to the later valid asset array.
That mixed stream is not real release state. It can produce malformed counts and a misleading duplicate-asset failure, which blocked PR #992 even though its complete staging test suite was green. This matters to maintainers because a retry should recover from a transient API failure, not turn the failure response into package metadata.
This is generic Kandelo release-index infrastructure. It does not change the kernel, runtime behavior, or ABI, but it is broader than a Homebrew-only change.
What changed
Validation
scripts/dev-shell.sh bash tests/scripts/release-index-state.sh— passed.scripts/dev-shell.sh bash -n scripts/release-index-state.sh tests/scripts/release-index-state.sh— passed.shellcheckwas not run because it is not declared in the repository dev shell.Scope
No kernel code, ABI definition, package recipe, package revision, release asset, or generated index was changed. This PR should not receive
ready-to-shipor merge under the Homebrew-only standing authority without an explicit scope decision.