diff --git a/.forgejo/workflows/release.yml b/.forgejo/workflows/release.yml index 2f3ec08..ca8c1f2 100644 --- a/.forgejo/workflows/release.yml +++ b/.forgejo/workflows/release.yml @@ -50,7 +50,8 @@ jobs: echo "Token length: ${#FORGEJO_TOKEN}" TAG="${{ github.event.inputs.tag || github.ref_name }}" - API_BASE="${{ github.server_url }}/api/v1" + # use internal docker network URL instead of external + API_BASE="http://forgejo:3000/api/v1" REPO="${{ github.repository }}" # ensure tag exists (create at HEAD if not) @@ -69,15 +70,13 @@ jobs: if [ "$RELEASE_ID" = "null" ] || [ -z "$RELEASE_ID" ]; then echo "Creating release for ${TAG}..." - echo '{"tag_name": "'"${TAG}"'", "name": "'"${TAG}"'"}' > /tmp/payload.json - cat /tmp/payload.json - RESPONSE=$(curl -sv --http1.1 -X POST \ + RESPONSE=$(curl -s -X POST \ -H "Content-Type: application/json" \ -H "Authorization: token ${FORGEJO_TOKEN}" \ - --data-binary @/tmp/payload.json \ - "${API_BASE}/repos/${REPO}/releases" 2>&1) - echo "Full response: ${RESPONSE}" - RELEASE_ID=$(echo "$RESPONSE" | grep -o '"id":[0-9]*' | head -1 | cut -d: -f2) + -d '{"tag_name": "'"${TAG}"'", "name": "'"${TAG}"'"}' \ + "${API_BASE}/repos/${REPO}/releases") + echo "Create response: ${RESPONSE}" + RELEASE_ID=$(echo "$RESPONSE" | jq -r '.id') fi echo "Release ID: ${RELEASE_ID}"