diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index f95db5e..d785299 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -192,11 +192,14 @@ jobs: - name: Fetch releases from Gitea API run: | - curl -sf \ + set -euo pipefail + RESPONSE=$(curl -sfL \ -H "Accept: application/json" \ - "http://gitea.kalekber.cc/api/v1/repos/kamil/libnovel/releases?limit=50&page=1" \ - -o ui/static/releases.json - echo "Fetched $(jq length ui/static/releases.json) releases" + "http://gitea.kalekber.cc/api/v1/repos/kamil/libnovel/releases?limit=50&page=1") + # Validate JSON before writing — fails hard if response is not a JSON array + COUNT=$(echo "$RESPONSE" | jq 'if type == "array" then length else error("expected array, got \(type)") end') + echo "$RESPONSE" > ui/static/releases.json + echo "Fetched $COUNT releases" - uses: docker/setup-buildx-action@v3