feat(script): add verbose mode for curl operations

- Introduces a `VERBOSE` flag to toggle detailed curl output
- Adds a helper function to conditionally execute verbose curl commands
- Improves debugging capabilities for fetching Gitea release data
This commit is contained in:
2025-05-26 16:58:04 +02:00
parent b7e96885de
commit b5a142b48b

View File

@@ -8,6 +8,17 @@ if [[ -z "${TAG:-}" ]]; then
exit 1
fi
VERBOSE="${VERBOSE:-false}"
# Funktion zur bedingten curl-Ausgabe
curl_exec() {
if [[ "$VERBOSE" == "true" ]]; then
curl -v "$@"
else
curl -s "$@" > /dev/null
fi
}
# Defaults (können durch INPUT_* oder ENV überschrieben werden)
GITEA_URL="${INPUT_GITEA_URL:-${GITEA_URL:-https://gitea.example.tld}}"
GITEA_TOKEN="${INPUT_GITEA_TOKEN:-${GITEA_TOKEN:-}}"
@@ -19,8 +30,7 @@ OUT_DIR="/tmp/gitea_release_${TAG}"
mkdir -p "$OUT_DIR/assets"
# Release-ID abrufen
RELEASE_META=$(curl -sf \
-H "Authorization: token $GITEA_TOKEN" \
RELEASE_META=$(curl_exec -H "Authorization: token $GITEA_TOKEN" \
"$GITEA_URL/api/v1/repos/$GITEA_OWNER/$GITEA_REPO/releases/tags/$TAG")
RELEASE_ID=$(echo "$RELEASE_META" | jq -r '.id')
@@ -30,8 +40,7 @@ if [[ -z "$RELEASE_ID" || "$RELEASE_ID" == "null" ]]; then
fi
# Vollständige Release-Details abrufen
RELEASE_JSON=$(curl -sf \
-H "Authorization: token $GITEA_TOKEN" \
RELEASE_JSON=$(curl_exec -H "Authorization: token $GITEA_TOKEN" \
"$GITEA_URL/api/v1/repos/$GITEA_OWNER/$GITEA_REPO/releases/$RELEASE_ID")
echo "$RELEASE_JSON" > "$OUT_DIR/release.json"
@@ -45,13 +54,15 @@ for asset in $ASSETS; do
URL=$(echo "$asset" | jq -r '.browser_download_url')
echo "⬇ Lade Asset '$NAME' herunter ..."
curl -sfL \
-H "Authorization: token $GITEA_TOKEN" \
"$URL" \
-o "$OUT_DIR/assets/$NAME"
if [[ "$VERBOSE" == "true" ]]; then
curl -L -H "Authorization: token $GITEA_TOKEN" "$URL" -o "$OUT_DIR/assets/$NAME"
else
curl -sL -H "Authorization: token $GITEA_TOKEN" "$URL" -o "$OUT_DIR/assets/$NAME"
fi
done
echo "GT_RSA_RELEASE_DIR=$OUT_DIR" >> "$GITHUB_ENV"
echo "✅ Alle Assets gespeichert unter: $OUT_DIR/assets"
echo "✅ Release-Metadaten gespeichert unter: $OUT_DIR/release.json"
echo "✅ Release-Metadaten gespeichert unter: $OUT_DIR/release.json"