upload iso as a release
Build NixOS ISOs / build-iso (buildbox) (push) Failing after 3m0s

This commit is contained in:
2026-06-20 11:45:03 -04:00
parent 3531d5cc68
commit 18a84dbf38
+20 -2
View File
@@ -101,7 +101,7 @@ jobs:
- name: Publish ${{ matrix.host }} ISO as a Gitea release
if: ${{ github.event_name != 'workflow_dispatch' || inputs.publish-release }}
env:
GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITEA_TOKEN: ${{ secrets.UPLOAD_TOKEN}}
run: |
set -euo pipefail
@@ -149,7 +149,21 @@ jobs:
# Helper: parse the id field from a JSON body, returning "" on any error.
extract_id() {
jq -r '.id // empty' 2>/dev/null || true
local body
body=$(cat)
if [ -z "$body" ]; then
echo " (extract_id: empty body)" >&2
return 0
fi
# Print the id; suppress jq errors so non-JSON bodies don't abort.
local id
id=$(printf '%s' "$body" | jq -r '.id // empty' 2>/dev/null || true)
if [ -z "$id" ]; then
echo " (extract_id: no .id field; body starts with:)" >&2
printf '%s' "$body" | head -c 300 >&2
echo >&2
fi
printf '%s' "$id"
}
# Create the release. Capture status + body separately so we can
@@ -160,9 +174,11 @@ jobs:
-d "{\"tag_name\":\"$TAG\",\"name\":\"${{ matrix.host }} ISO $TAG\",\"body\":\"Automated ISO build for ${{ matrix.host }}.\\n\\nCommit: ${GITHUB_SHA}\\nRun: ${SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}\",\"prerelease\":$PRERELEASE}" \
|| true)
echo "POST $API/releases -> HTTP $http_code"
echo " create body size: $(wc -c < /tmp/release-create.body 2>/dev/null || echo 0) bytes"
RELEASE_ID=""
if [ "$http_code" = "201" ] || [ "$http_code" = "200" ]; then
RELEASE_ID=$(extract_id < /tmp/release-create.body)
echo " parsed RELEASE_ID from create: '${RELEASE_ID}'"
else
# Common case: tag already exists from a prior run. Show the body
# for any other error so it's debuggable.
@@ -176,8 +192,10 @@ jobs:
http_code=$(curl -sS -o /tmp/release-lookup.body -w '%{http_code}' \
-H "$AUTH" "$API/releases/tags/$TAG" || true)
echo "GET $API/releases/tags/$TAG -> HTTP $http_code"
echo " lookup body size: $(wc -c < /tmp/release-lookup.body 2>/dev/null || echo 0) bytes"
if [ "$http_code" = "200" ]; then
RELEASE_ID=$(extract_id < /tmp/release-lookup.body)
echo " parsed RELEASE_ID from lookup: '${RELEASE_ID}'"
else
echo "Lookup response body (first 2000 bytes):"
head -c 2000 /tmp/release-lookup.body || true