Skip to content

Commit 94df340

Browse files
committed
ci: retry transport failures when fetching the installer
`--retry` covers a transient HTTP status and a timeout and does not cover a failure of the transport. `curl: (35) Recv failure: Connection reset by peer` is what this ecosystem's runners actually meet, and it produces a red job that names no defect.
1 parent 366c48e commit 94df340

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,13 @@ jobs:
4545

4646
- name: Install xlings
4747
run: |
48-
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh \
48+
# --retry-all-errors and not --retry alone: the first covers a
49+
# transient HTTP status and a timeout, and what this step actually
50+
# meets is a failure of the transport. Observed in this ecosystem as
51+
# `curl: (35) Recv failure: Connection reset by peer', thirteen
52+
# seconds into a job, before anything was built.
53+
curl -fsSL --retry 3 --retry-all-errors --retry-delay 2 \
54+
https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh \
4955
| bash -s "$XLINGS_VERSION"
5056
echo "$HOME/.xlings/subos/current/bin" >> "$GITHUB_PATH"
5157

0 commit comments

Comments
 (0)