From 27419f4ca894e29ab340bb41413ceb9656af0104 Mon Sep 17 00:00:00 2001 From: DuProcess <273172371+DuProcess@users.noreply.github.com> Date: Sat, 20 Jun 2026 17:51:36 -0400 Subject: [PATCH] Fix Gitea release id parsing --- scripts/upload-gitea-release.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/scripts/upload-gitea-release.sh b/scripts/upload-gitea-release.sh index c84ab04..c530209 100755 --- a/scripts/upload-gitea-release.sh +++ b/scripts/upload-gitea-release.sh @@ -44,12 +44,21 @@ api="$base/api/v1/repos/$repo" auth_header="Authorization: token $token" release_json="$(curl -fsS -H "$auth_header" "$api/releases/tags/$tag" || true)" -release_id="$(printf '%s\n' "$release_json" | sed -n 's/.*"id":[[:space:]]*\([0-9][0-9]*\).*/\1/p' | sed -n '1p')" +release_id="" +if [ -n "$release_json" ] && command -v jq >/dev/null 2>&1; then + release_id="$(printf '%s\n' "$release_json" | jq -r '.id // empty')" +elif [ -n "$release_json" ]; then + release_id="$(printf '%s\n' "$release_json" | sed -n 's/^[[:space:]]*{"id":[[:space:]]*\([0-9][0-9]*\).*/\1/p' | sed -n '1p')" +fi if [ -z "$release_id" ]; then payload="$(printf '{"tag_name":"%s","target_commitish":"main","name":"%s","body":"Dosh release %s","draft":false,"prerelease":false}\n' "$tag" "$title" "$tag")" release_json="$(curl -fsS -H "$auth_header" -H 'Content-Type: application/json' -X POST "$api/releases" -d "$payload")" - release_id="$(printf '%s\n' "$release_json" | sed -n 's/.*"id":[[:space:]]*\([0-9][0-9]*\).*/\1/p' | sed -n '1p')" + if command -v jq >/dev/null 2>&1; then + release_id="$(printf '%s\n' "$release_json" | jq -r '.id // empty')" + else + release_id="$(printf '%s\n' "$release_json" | sed -n 's/^[[:space:]]*{"id":[[:space:]]*\([0-9][0-9]*\).*/\1/p' | sed -n '1p')" + fi fi if [ -z "$release_id" ]; then