ci: use jq to build JSON payload safely
This commit is contained in:
@@ -113,22 +113,20 @@ jobs:
|
|||||||
|
|
||||||
echo "Creating Gitea release for ${TAG}..."
|
echo "Creating Gitea release for ${TAG}..."
|
||||||
|
|
||||||
# Create JSON payload (avoid shell escaping issues)
|
# Use jq to build valid JSON with proper escaping
|
||||||
cat > /tmp/release.json << EOF
|
BODY="Download binaries for your platform: Linux (amd64, arm64), macOS (Intel, Apple Silicon), FreeBSD (amd64)"
|
||||||
{
|
|
||||||
"tag_name": "${TAG}",
|
JSON_PAYLOAD=$(jq -n \
|
||||||
"name": "${TAG}",
|
--arg tag "$TAG" \
|
||||||
"body": "## Download\n\nSelect the binary for your platform.\n\n### Platforms\n- Linux (amd64, arm64)\n- macOS (Intel, Apple Silicon)\n- FreeBSD (amd64)",
|
--arg name "$TAG" \
|
||||||
"draft": false,
|
--arg body "$BODY" \
|
||||||
"prerelease": false
|
'{tag_name: $tag, name: $name, body: $body, draft: false, prerelease: false}')
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# Create release via API
|
# Create release via API
|
||||||
RESPONSE=$(curl -s -X POST \
|
RESPONSE=$(curl -s -X POST \
|
||||||
-H "Authorization: token ${GITEA_TOKEN}" \
|
-H "Authorization: token ${GITEA_TOKEN}" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d @/tmp/release.json \
|
-d "$JSON_PAYLOAD" \
|
||||||
"https://git.uuxo.net/api/v1/repos/${GITHUB_REPOSITORY}/releases")
|
"https://git.uuxo.net/api/v1/repos/${GITHUB_REPOSITORY}/releases")
|
||||||
|
|
||||||
RELEASE_ID=$(echo "$RESPONSE" | jq -r '.id')
|
RELEASE_ID=$(echo "$RESPONSE" | jq -r '.id')
|
||||||
|
|||||||
Reference in New Issue
Block a user