ci: curl via apk/static-binary statt BusyBox-wget für API-Calls

This commit is contained in:
2026-06-25 23:41:25 +02:00
parent 2f59a2b02b
commit e5b2a19192

View File

@@ -110,23 +110,30 @@ jobs:
git tag -f "$TAG"
git push https://gitea-actions:${GITEA_TOKEN}@gitea.it-drui.de/viewit/KX-Bridge-Release.git "$TAG" --force
# curl installieren (BusyBox wget kann kein DELETE/POST mit Headers)
if ! command -v curl >/dev/null 2>&1; then
apk add --no-cache curl 2>/dev/null || \
wget -qO /usr/local/bin/curl \
"https://github.com/moparisthebest/static-curl/releases/download/v8.6.0/curl-amd64" \
&& chmod +x /usr/local/bin/curl
fi
# Altes Release loeschen falls vorhanden
wget -q --method=DELETE \
--header="Authorization: token ${GITEA_TOKEN}" \
curl -s -X DELETE \
-H "Authorization: token ${GITEA_TOKEN}" \
"https://gitea.it-drui.de/api/v1/repos/viewit/KX-Bridge-Release/releases/tags/${TAG}" \
2>/dev/null || true
# Release erstellen (JSON-Body via awk escapen, kein python3/curl nötig)
# Release erstellen (JSON-Body via awk escapen)
BODY_JSON=$(awk '{
gsub(/\\/, "\\\\"); gsub(/"/, "\\\""); gsub(/\t/, "\\t");
printf "%s\\n", $0
}' "$BODY_FILE" | awk 'BEGIN{printf "\""} {printf "%s", $0} END{printf "\""}')
JSON_PAYLOAD="{\"tag_name\":\"${TAG}\",\"name\":\"KX-Bridge ${VERSION} Nightly\",\"body\":${BODY_JSON},\"draft\":false,\"prerelease\":true}"
printf '%s' "$JSON_PAYLOAD" > /tmp/release_body.json
wget -q -O- \
--method=POST \
--header="Authorization: token ${GITEA_TOKEN}" \
--header="Content-Type: application/json" \
--body-file=/tmp/release_body.json \
curl -s -X POST \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/json" \
--data-binary @/tmp/release_body.json \
"https://gitea.it-drui.de/api/v1/repos/viewit/KX-Bridge-Release/releases"
rm -f "$BODY_FILE" /tmp/release_body.json