Skip to content

Commit 16a2c3f

Browse files
authored
ci: retry xlings downloads to survive transient GitHub 504s (#28)
* ci: retry xlings downloads (curl --retry) to survive transient GitHub 504s * ci: ride out longer GitHub 504 waves (curl --retry 10 --retry-delay 10)
1 parent 93df9ae commit 16a2c3f

2 files changed

Lines changed: 7 additions & 7 deletions

File tree

.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
- name: Install xlings
2020
run: |
2121
tarball="xlings-${XLINGS_VERSION}-linux-x86_64.tar.gz"
22-
curl -fsSL -o "/tmp/${tarball}" \
22+
curl -fsSL --retry 10 --retry-all-errors --retry-delay 10 --connect-timeout 30 -o "/tmp/${tarball}" \
2323
"https://github.com/d2learn/xlings/releases/download/v${XLINGS_VERSION}/${tarball}"
2424
tar -xzf "/tmp/${tarball}" -C /tmp
2525
"/tmp/xlings-${XLINGS_VERSION}-linux-x86_64/subos/default/bin/xlings" self install
@@ -62,7 +62,7 @@ jobs:
6262
XLINGS_NON_INTERACTIVE: 1
6363
run: |
6464
TARBALL="xlings-${XLINGS_VERSION}-macosx-arm64.tar.gz"
65-
curl -fSL -o "$RUNNER_TEMP/$TARBALL" "https://github.com/d2learn/xlings/releases/download/v${XLINGS_VERSION}/${TARBALL}"
65+
curl -fSL --retry 10 --retry-all-errors --retry-delay 10 --connect-timeout 30 -o "$RUNNER_TEMP/$TARBALL" "https://github.com/d2learn/xlings/releases/download/v${XLINGS_VERSION}/${TARBALL}"
6666
tar -xzf "$RUNNER_TEMP/$TARBALL" -C "$RUNNER_TEMP"
6767
EXTRACT_DIR=$(find "$RUNNER_TEMP" -maxdepth 1 -type d -name "xlings-*" | head -1)
6868
xattr -dr com.apple.quarantine "$EXTRACT_DIR" 2>/dev/null || true
@@ -103,7 +103,7 @@ jobs:
103103
run: |
104104
set -e
105105
ZIP="xlings-${XLINGS_VERSION}-windows-x86_64.zip"
106-
curl -fSL -o "$RUNNER_TEMP/$ZIP" "https://github.com/d2learn/xlings/releases/download/v${XLINGS_VERSION}/${ZIP}"
106+
curl -fSL --retry 10 --retry-all-errors --retry-delay 10 --connect-timeout 30 -o "$RUNNER_TEMP/$ZIP" "https://github.com/d2learn/xlings/releases/download/v${XLINGS_VERSION}/${ZIP}"
107107
unzip -q "$RUNNER_TEMP/$ZIP" -d "$RUNNER_TEMP/xl"
108108
XL=$(find "$RUNNER_TEMP/xl" -name 'xlings.exe' | head -1)
109109
echo "xlings: $XL"
@@ -129,7 +129,7 @@ jobs:
129129
- name: Install xlings
130130
run: |
131131
tarball="xlings-${XLINGS_VERSION}-linux-x86_64.tar.gz"
132-
curl -fsSL -o "/tmp/${tarball}" \
132+
curl -fsSL --retry 10 --retry-all-errors --retry-delay 10 --connect-timeout 30 -o "/tmp/${tarball}" \
133133
"https://github.com/d2learn/xlings/releases/download/v${XLINGS_VERSION}/${tarball}"
134134
tar -xzf "/tmp/${tarball}" -C /tmp
135135
"/tmp/xlings-${XLINGS_VERSION}-linux-x86_64/subos/default/bin/xlings" self install

.github/workflows/release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
run: |
3030
VERSION_NUM="${XLINGS_VERSION#v}"
3131
TARBALL="xlings-${VERSION_NUM}-linux-x86_64.tar.gz"
32-
curl -fSL -o "$RUNNER_TEMP/$TARBALL" "https://github.com/d2learn/xlings/releases/download/${XLINGS_VERSION}/${TARBALL}"
32+
curl -fSL --retry 10 --retry-all-errors --retry-delay 10 --connect-timeout 30 -o "$RUNNER_TEMP/$TARBALL" "https://github.com/d2learn/xlings/releases/download/${XLINGS_VERSION}/${TARBALL}"
3333
tar -xzf "$RUNNER_TEMP/$TARBALL" -C "$RUNNER_TEMP"
3434
EXTRACT_DIR=$(find "$RUNNER_TEMP" -maxdepth 1 -type d -name "xlings-*" | head -1)
3535
chmod +x "$EXTRACT_DIR/bin/xlings"
@@ -81,7 +81,7 @@ jobs:
8181
run: |
8282
VERSION_NUM="${XLINGS_VERSION#v}"
8383
TARBALL="xlings-${VERSION_NUM}-macosx-arm64.tar.gz"
84-
curl -fSL -o "$RUNNER_TEMP/$TARBALL" "https://github.com/d2learn/xlings/releases/download/${XLINGS_VERSION}/${TARBALL}"
84+
curl -fSL --retry 10 --retry-all-errors --retry-delay 10 --connect-timeout 30 -o "$RUNNER_TEMP/$TARBALL" "https://github.com/d2learn/xlings/releases/download/${XLINGS_VERSION}/${TARBALL}"
8585
tar -xzf "$RUNNER_TEMP/$TARBALL" -C "$RUNNER_TEMP"
8686
EXTRACT_DIR=$(find "$RUNNER_TEMP" -maxdepth 1 -type d -name "xlings-*" | head -1)
8787
xattr -dr com.apple.quarantine "$EXTRACT_DIR" 2>/dev/null || true
@@ -136,7 +136,7 @@ jobs:
136136
set -e
137137
VERSION_NUM="${XLINGS_VERSION#v}"
138138
ZIP="xlings-${VERSION_NUM}-windows-x86_64.zip"
139-
curl -fSL -o "$RUNNER_TEMP/$ZIP" "https://github.com/d2learn/xlings/releases/download/${XLINGS_VERSION}/${ZIP}"
139+
curl -fSL --retry 10 --retry-all-errors --retry-delay 10 --connect-timeout 30 -o "$RUNNER_TEMP/$ZIP" "https://github.com/d2learn/xlings/releases/download/${XLINGS_VERSION}/${ZIP}"
140140
unzip -q "$RUNNER_TEMP/$ZIP" -d "$RUNNER_TEMP/xl"
141141
XL=$(find "$RUNNER_TEMP/xl" -name 'xlings.exe' | head -1)
142142
"$XL" self install

0 commit comments

Comments
 (0)