Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 27 additions & 7 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -366,18 +366,38 @@ jobs:
GH_TOKEN: ${{ github.token }}
run: |
set -euxo pipefail
# Change these to change the retry count and delay across all OS entries
retry_count=3
retry_delay_seconds=3
if [[ "$RUNNER_OS" == "Linux" ]]; then
curl -sSL https://get.livekit.io/cli | bash
curl -sSL --retry "$retry_count" --retry-delay "$retry_delay_seconds" https://get.livekit.io/cli | bash

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Linux installation failures remain unretried

On Linux, curl --retry retries only the installer-script download, while any failure inside the downloaded installer ends the job immediately.

Suggested change
curl -sSL --retry "$retry_count" --retry-delay "$retry_delay_seconds" https://get.livekit.io/cli | bash
for attempt in $(seq 0 "$retry_count"); do
if curl -sSL --retry "$retry_count" --retry-delay "$retry_delay_seconds" https://get.livekit.io/cli | bash; then
break
fi
if [[ "$attempt" == "$retry_count" ]]; then
exit 1
fi
sleep "$retry_delay_seconds"
done
Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

elif [[ "$RUNNER_OS" == "macOS" ]]; then
brew install livekit-cli
for attempt in $(seq 0 "$retry_count"); do

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

brew already tried to install 3 times, so i dont think we need this chunk

if brew install livekit-cli; then
break
fi
if [[ "$attempt" == "$retry_count" ]]; then
exit 1
fi
sleep "$retry_delay_seconds"
done
elif [[ "$RUNNER_OS" == "Windows" ]]; then
install_dir="$RUNNER_TEMP/livekit-cli"
mkdir -p "$install_dir"
tag="$(gh api repos/livekit/livekit-cli/releases/latest --jq '.tag_name')"
gh release download "$tag" \
--repo livekit/livekit-cli \
--pattern "*_windows_amd64.zip" \
--output "$RUNNER_TEMP/lk.zip"
for attempt in $(seq 0 "$retry_count"); do

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why arent we using winget here?
https://github.com/livekit/livekit-cli#windows

if tag="$(gh api repos/livekit/livekit-cli/releases/latest --jq '.tag_name')" && \
gh release download "$tag" \
--repo livekit/livekit-cli \
--pattern "*_windows_amd64.zip" \
--output "$RUNNER_TEMP/lk.zip"; then
break
fi
if [[ "$attempt" == "$retry_count" ]]; then
exit 1
fi
rm -f "$RUNNER_TEMP/lk.zip"
sleep "$retry_delay_seconds"
done
unzip -o "$RUNNER_TEMP/lk.zip" -d "$install_dir"
# GITHUB_PATH updates apply to subsequent steps only; export PATH here
# so lk --version in this step succeeds.
Expand Down
Loading