diff --git a/.gitea/workflows/build-binaries.yml b/.gitea/workflows/build-binaries.yml index d4d5e4e..4c3c2b8 100644 --- a/.gitea/workflows/build-binaries.yml +++ b/.gitea/workflows/build-binaries.yml @@ -71,16 +71,9 @@ jobs: run: | test -n "$GITEA_TOKEN" - release_payload=$(python3 - <<'PY' -import json, os -print(json.dumps({ - 'tag_name': os.environ['TAG_NAME'], - 'name': os.environ['TAG_NAME'], - 'draft': False, - 'prerelease': False, -})) -PY -) + # Build release payload via env var — avoids heredoc in YAML + export TAG_NAME + release_payload=$(python3 -c 'import os,json; t=os.environ["TAG_NAME"]; print(json.dumps({"tag_name":t,"name":t,"draft":false,"prerelease":false}))') release_response=$(curl -fsSL \ -H "Authorization: token $GITEA_TOKEN" \ @@ -90,23 +83,24 @@ PY -d "$release_payload" \ || true) - release_id=$(RELEASE_RESPONSE="$release_response" python3 - <<'PY' -import json, os -raw = os.environ.get('RELEASE_RESPONSE', '').strip() -if not raw: - print('') -else: - try: - print(json.loads(raw).get('id', '')) - except Exception: - print('') -PY -) + # Extract release id or fallback to existing + export RELEASE_RESPONSE + release_id=$(python3 -c ' + import os, json + raw = os.environ.get("RELEASE_RESPONSE", "").strip() + if raw: + try: + print(json.loads(raw)["id"]) + except Exception: + pass + ') if [ -z "$release_id" ]; then release_id=$(curl -fsSL \ -H "Authorization: token $GITEA_TOKEN" \ - "$SERVER_URL/api/v1/repos/$REPO/releases/tags/$TAG_NAME" | python3 -c 'import json,sys; print(json.load(sys.stdin)["id"])') + "$SERVER_URL/api/v1/repos/$REPO/releases/tags/$TAG_NAME" \ + | python3 -c 'import json,sys; print(json.load(sys.stdin)["id"])' \ + 2>/dev/null || true) fi for file in dist/TrulyMEM dist/TrulyMEM.desktop dist/TrulyMEM-linux-amd64.tar.gz dist/TrulyMEM.AppImage; do