fix: improve upload error handling and include file size in upload logs
All checks were successful
Release Electron App / release-desktop (push) Successful in 10m53s
All checks were successful
Release Electron App / release-desktop (push) Successful in 10m53s
This commit is contained in:
@@ -85,20 +85,26 @@ jobs:
|
|||||||
local attempt=1
|
local attempt=1
|
||||||
|
|
||||||
while [ $attempt -le $MAX_RETRIES ]; do
|
while [ $attempt -le $MAX_RETRIES ]; do
|
||||||
echo "Uploading ${name} (attempt ${attempt}/${MAX_RETRIES})..."
|
local filesize
|
||||||
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" \
|
filesize=$(stat -c%s "$file" 2>/dev/null || stat -f%z "$file" 2>/dev/null || echo "unknown")
|
||||||
|
echo "Uploading ${name} (${filesize} bytes, attempt ${attempt}/${MAX_RETRIES})..."
|
||||||
|
RESPONSE=$(curl -s -w "\n%{http_code}" \
|
||||||
|
--max-time 300 \
|
||||||
-X POST \
|
-X POST \
|
||||||
-H "Authorization: token ${TOKEN}" \
|
-H "Authorization: token ${TOKEN}" \
|
||||||
-H "Expect:" \
|
-H "Expect:" \
|
||||||
-F "attachment=@${file}" \
|
-F "attachment=@${file}" \
|
||||||
"${GITEA_URL}/api/v1/repos/${REPO}/releases/${RELEASE_ID}/assets?name=${encoded_name}")
|
"${GITEA_URL}/api/v1/repos/${REPO}/releases/${RELEASE_ID}/assets?name=${encoded_name}")
|
||||||
|
HTTP_CODE=$(echo "$RESPONSE" | tail -1)
|
||||||
|
BODY=$(echo "$RESPONSE" | head -n -1)
|
||||||
|
|
||||||
if [ "$HTTP_CODE" -ge 200 ] && [ "$HTTP_CODE" -lt 300 ]; then
|
if [ "$HTTP_CODE" -ge 200 ] 2>/dev/null && [ "$HTTP_CODE" -lt 300 ] 2>/dev/null; then
|
||||||
echo "✅ Uploaded ${name}"
|
echo "✅ Uploaded ${name}"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "⚠️ Upload failed (HTTP ${HTTP_CODE}), retrying in 5s..."
|
echo "⚠️ Upload failed (HTTP ${HTTP_CODE}), body: ${BODY}"
|
||||||
|
echo "Retrying in 5s..."
|
||||||
sleep 5
|
sleep 5
|
||||||
attempt=$((attempt + 1))
|
attempt=$((attempt + 1))
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user