Skip to content

Commit cac4cb0

Browse files
committed
fix(workflow): add retry logic for downloading ScriptHookV and ScriptHookRDR2
1 parent 5545855 commit cac4cb0

File tree

1 file changed

+62
-8
lines changed

1 file changed

+62
-8
lines changed

.github/workflows/check-update.yml

Lines changed: 62 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ concurrency:
1717
jobs:
1818
check-update-gta5:
1919
runs-on: ubuntu-latest
20+
env:
21+
MAX_RETRIES: 3
22+
RETRY_DELAY: 5
2023
steps:
2124
- uses: actions/checkout@v4
2225

@@ -26,7 +29,19 @@ jobs:
2629
- name: Download ScriptHookV download page
2730
run: |
2831
REFERER_LINK="https://www.dev-c.com/gtav/scripthookv/"
29-
curl -o download_page.html "$REFERER_LINK"
32+
for i in $(seq 1 $MAX_RETRIES); do
33+
echo "Attempt $i of $MAX_RETRIES..."
34+
if curl -fsSL -o download_page.html "$REFERER_LINK"; then
35+
echo "Download successful."
36+
break
37+
fi
38+
if [ $i -eq $MAX_RETRIES ]; then
39+
echo "Failed to download after $MAX_RETRIES attempts."
40+
exit 1
41+
fi
42+
echo "Download failed. Retrying in $RETRY_DELAY seconds..."
43+
sleep $RETRY_DELAY
44+
done
3045
echo "REFERER_LINK=$REFERER_LINK" >> $GITHUB_ENV
3146
3247
- name: Extract ScriptHookV download link
@@ -37,11 +52,23 @@ jobs:
3752
3853
- name: Download ScriptHookV
3954
run: |
40-
if [ -z "$DOWNLOAD_LINK" ]; then
41-
echo "No download link found."
55+
if [ -z "$DOWNLOAD_LINK" ]; then
56+
echo "No download link found."
57+
exit 1
58+
fi
59+
for i in $(seq 1 $MAX_RETRIES); do
60+
echo "Attempt $i of $MAX_RETRIES..."
61+
if curl -fsSL --referer "$REFERER_LINK" -o ScriptHookV.zip "$DOWNLOAD_LINK"; then
62+
echo "Download successful."
63+
break
64+
fi
65+
if [ $i -eq $MAX_RETRIES ]; then
66+
echo "Failed to download after $MAX_RETRIES attempts."
4267
exit 1
4368
fi
44-
curl -L --referer "$REFERER_LINK" -o ScriptHookV.zip "$DOWNLOAD_LINK"
69+
echo "Download failed. Retrying in $RETRY_DELAY seconds..."
70+
sleep $RETRY_DELAY
71+
done
4572
4673
- name: Extract ScriptHookV
4774
run: |
@@ -144,6 +171,9 @@ jobs:
144171

145172
check-update-rdr2:
146173
runs-on: ubuntu-latest
174+
env:
175+
MAX_RETRIES: 3
176+
RETRY_DELAY: 5
147177
steps:
148178
- uses: actions/checkout@v4
149179

@@ -153,7 +183,19 @@ jobs:
153183
- name: Download ScriptHookRDR2 download page
154184
run: |
155185
REFERER_LINK="http://www.dev-c.com/rdr2/scripthookrdr2/"
156-
curl -o download_page.html "$REFERER_LINK"
186+
for i in $(seq 1 $MAX_RETRIES); do
187+
echo "Attempt $i of $MAX_RETRIES..."
188+
if curl -fsSL -o download_page.html "$REFERER_LINK"; then
189+
echo "Download successful."
190+
break
191+
fi
192+
if [ $i -eq $MAX_RETRIES ]; then
193+
echo "Failed to download after $MAX_RETRIES attempts."
194+
exit 1
195+
fi
196+
echo "Download failed. Retrying in $RETRY_DELAY seconds..."
197+
sleep $RETRY_DELAY
198+
done
157199
echo "REFERER_LINK=$REFERER_LINK" >> $GITHUB_ENV
158200
159201
- name: Extract ScriptHookRDR2 download link
@@ -164,11 +206,23 @@ jobs:
164206
165207
- name: Download ScriptHookRDR2
166208
run: |
167-
if [ -z "$DOWNLOAD_LINK" ]; then
168-
echo "No download link found."
209+
if [ -z "$DOWNLOAD_LINK" ]; then
210+
echo "No download link found."
211+
exit 1
212+
fi
213+
for i in $(seq 1 $MAX_RETRIES); do
214+
echo "Attempt $i of $MAX_RETRIES..."
215+
if curl -fsSL --referer "$REFERER_LINK" -o ScriptHookRDR2.zip "$DOWNLOAD_LINK"; then
216+
echo "Download successful."
217+
break
218+
fi
219+
if [ $i -eq $MAX_RETRIES ]; then
220+
echo "Failed to download after $MAX_RETRIES attempts."
169221
exit 1
170222
fi
171-
curl -L --referer "$REFERER_LINK" -o ScriptHookRDR2.zip "$DOWNLOAD_LINK"
223+
echo "Download failed. Retrying in $RETRY_DELAY seconds..."
224+
sleep $RETRY_DELAY
225+
done
172226
173227
- name: Extract ScriptHookRDR2
174228
run: |

0 commit comments

Comments
 (0)