Skip to content

fix(ci): retry mise install on transient GitHub API failures - #330

Closed
nsheaps wants to merge 1 commit into
mainfrom
fix/mise-ci-retry
Closed

fix(ci): retry mise install on transient GitHub API failures#330
nsheaps wants to merge 1 commit into
mainfrom
fix/mise-ci-retry

Conversation

@nsheaps

@nsheaps nsheaps commented Aug 11, 2026

Copy link
Copy Markdown
Owner

Summary

lint/build/test intermittently fail with:

mise ERROR Failed to install aqua:anthropics/claude-code@2.1.128: builder error: relative URL without a base

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 install in a retry (nick-fields/retry@v3, 3 attempts, 15s backoff) inside the shared .github/actions/setup-mise-and-bun composite action, so lint, build, and test all get the resilience from one place:

  • install: false on the jdx/mise-action step (still sets up the mise binary and PATH; only skips the auto-mise install)
  • A separate mise install step wrapped in the retry action

Relationship to #325 and #328

This replaces both:

Closes #325
Closes #328

Test plan

  • CI on this PR confirms mise install succeeds (first try or via retry)

Generated by Claude Code

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.
@nsheaps nsheaps closed this Aug 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants