fix(ci): retry mise install on transient GitHub API failures - #330
Closed
nsheaps wants to merge 1 commit into
Closed
fix(ci): retry mise install on transient GitHub API failures#330nsheaps wants to merge 1 commit into
nsheaps wants to merge 1 commit into
Conversation
mise install hits GitHub's releases API per aqua-backend tool; that call intermittently 403s on shared Actions runner IPs and mise doesn't retry or fall back gracefully. Wrap it in nick-fields/retry (3 attempts, 15s backoff) in the shared setup-mise-and-bun composite action so lint/build/ test all get the resilience. Supersedes the aqua-backend switch this branch previously carried: main already fixed the underlying "claude native binary not installed" failure via npm's allow_builds option (#327), so that part of this branch is reset to latest main. This is the only change left to land.
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.
Summary
lint/build/testintermittently fail with:Root cause
mise's aqua backend hits GitHub's releases-list API (
api.github.com/repos/<owner>/<repo>/releases) per tool it resolves. That call intermittently 403s on shared GitHub Actions runner IPs — a known class of transient failure, independent of which tool triggers it. When the API call fails, mise's aqua backend doesn't fall back gracefully; it crashes trying to build a download URL with nothing to build it from.Fix
Wrap
mise installin a retry (nick-fields/retry@v3, 3 attempts, 15s backoff) inside the shared.github/actions/setup-mise-and-buncomposite action, solint,build, andtestall get the resilience from one place:install: falseon thejdx/mise-actionstep (still sets up the mise binary and PATH; only skips the auto-mise install)mise installstep wrapped in the retry actionRelationship to #325 and #328
This replaces both:
claude native binary not installedby switchingclaude-codefrom thenpm:backend to theaqua:backend. That's now moot —mainalready has the real fix (npm:@anthropic-ai/claude-codewithallow_builds, merged via fix(review-utils): stop headless review agent hanging on gh approval #327), so no backend switch is needed.Setup misesteps intest.yamlthat no longer exist after thesetup-mise-and-buncomposite-action refactor — its branch predates that refactor and no longer applies cleanly. This PR carries the same fix, rebuilt against the current composite action solint/build/testshare one implementation.Closes #325
Closes #328
Test plan
mise installsucceeds (first try or via retry)Generated by Claude Code