diff --git a/.gitea/workflows/build-iso.yaml b/.gitea/workflows/build-iso.yaml index 56b9edc..5de0e16 100644 --- a/.gitea/workflows/build-iso.yaml +++ b/.gitea/workflows/build-iso.yaml @@ -55,27 +55,31 @@ jobs: env: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} SERVER_URL: ${{ github.server_url }} + # Use internal Gitea URL to bypass traefik proxy timeout on large uploads + GITEA_API: http://192.168.1.168:3000/api/v1 REPOSITORY: ${{ github.repository }} TAG_NAME: ${{ steps.tag.outputs.tag_name }} RELEASE_NAME: ${{ steps.tag.outputs.release_name }} run: | - # Create the release via Gitea API - RELEASE_ID=$(curl -s -X POST \ + # Create the release via Gitea API (internal, no traefik) + RELEASE_ID=$(curl -sf -X POST \ -H "Authorization: token $GITEA_TOKEN" \ -H "Content-Type: application/json" \ - "$SERVER_URL/api/v1/repos/$REPOSITORY/releases" \ + "$GITEA_API/repos/$REPOSITORY/releases" \ -d "{\"tag_name\": \"$TAG_NAME\", \"name\": \"$RELEASE_NAME\"}" \ | jq -r '.id') echo "Created release ID: $RELEASE_ID" - # Upload each ISO as a release asset + # Upload each ISO as a release asset (internal, no traefik) for iso in out/*.iso; do - echo "Uploading $iso..." - curl -s -X POST \ + echo "Uploading $iso ($(du -h "$iso" | cut -f1))..." + curl -sf --retry 3 --retry-delay 10 \ + --max-time 1800 \ -H "Authorization: token $GITEA_TOKEN" \ -F "attachment=@$iso" \ - "$SERVER_URL/api/v1/repos/$REPOSITORY/releases/$RELEASE_ID/assets" + "$GITEA_API/repos/$REPOSITORY/releases/$RELEASE_ID/assets" + echo "Upload complete: $iso" done echo "Release $TAG_NAME created and ISOs uploaded." @@ -83,18 +87,18 @@ jobs: - name: Keep only latest 3 releases env: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} - SERVER_URL: ${{ github.server_url }} + GITEA_API: http://192.168.1.168:3000/api/v1 REPOSITORY: ${{ github.repository }} run: | # Fetch all releases - releases=$(curl -s -H "Authorization: token $GITEA_TOKEN" \ - "$SERVER_URL/api/v1/repos/$REPOSITORY/releases") + releases=$(curl -sf -H "Authorization: token $GITEA_TOKEN" \ + "$GITEA_API/repos/$REPOSITORY/releases") # Sort by creation date and delete old ones, keeping only the 3 newest releases echo "$releases" | jq -r 'sort_by(.created_at) | .[].id' | head -n -3 | while read -r id; do if [ -n "$id" ]; then echo "Deleting old release ID: $id" - curl -s -X DELETE -H "Authorization: token $GITEA_TOKEN" \ - "$SERVER_URL/api/v1/repos/$REPOSITORY/releases/$id" + curl -sf -X DELETE -H "Authorization: token $GITEA_TOKEN" \ + "$GITEA_API/repos/$REPOSITORY/releases/$id" fi - done \ No newline at end of file + done