fix(install): retry GitHub downloads with exponential backoff - #956
Merged
Conversation
stephen-derosa
requested review from
ladvoc and
rektdeckard
and
a lite review from Copilot
September 1, 2026 16:36
Contributor
There was a problem hiding this comment.
Pull request overview
This PR hardens the Linux installer script (install-cli.sh) by routing GitHub network calls through a retrying fetch helper to reduce flakiness (especially on CI runners) and by adding a missing jq prerequisite check.
Changes:
- Introduces a
fetchhelper that retries transient GitHub/curl failures with exponential backoff (configurable via env vars). - Routes GitHub API, release archive, and checksums downloads through
fetchinstead of directcurlcalls. - Adds an explicit
jqavailability check before using it to parse the latest release JSON.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
stephen-derosa
force-pushed
the
sderosa/install-retries
branch
2 times, most recently
from
September 1, 2026 16:46
22ed645 to
4f5e5b4
Compare
stephen-derosa
force-pushed
the
sderosa/install-retries
branch
from
September 1, 2026 16:48
4f5e5b4 to
6f7bfa9
Compare
alan-george-lk
approved these changes
Sep 1, 2026
u9g
reviewed
Sep 1, 2026
u9g
previously approved these changes
Sep 1, 2026
u9g
left a comment
Contributor
There was a problem hiding this comment.
LGTM, not sure about text/negative max attemps or retry delay guards make sense though.
u9g
reviewed
Sep 1, 2026
u9g
self-requested a review
September 1, 2026 17:14
u9g
dismissed
their stale review
September 1, 2026 17:15
I think we should put defaults in the install retries first.
u9g
approved these changes
Sep 1, 2026
rektdeckard
approved these changes
Sep 1, 2026
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.
The installer served at https://get.livekit.io/cli makes three unguarded curl calls to GitHub (the releases API, the archive, and checksums.txt). Any transient failure aborts the whole install, which makes CI runners flaky.
Retry each curl command, overridable for custom setting.
Also adds the missing
jqprerequisite check — the script already depended on jq but only reported it as an unhelpful version parse error.