fix: surface release API errors in woodpecker pipeline (#5)
ci/woodpecker/release/release Pipeline failed
ci/woodpecker/release/release Pipeline failed
Capture and print the full Gitea API response before parsing the release ID, and fail explicitly if the ID is empty so the root cause is visible in CI logs instead of silently producing a malformed asset upload URL. 💘 Generated with Crush Assisted-by: Claude Sonnet 4.6 via Crush <crush@charm.land> Reviewed-on: #5
This commit was merged in pull request #5.
This commit is contained in:
@@ -28,11 +28,17 @@ steps:
|
||||
NOTES=$(git log --merges --pretty=format:"- %s")
|
||||
fi
|
||||
BODY=$(printf '%s' "$NOTES" | sed 's/"/\\"/g; s/$/\\n/' | tr -d '\n')
|
||||
RELEASE_ID=$(curl -sf -X POST "https://git.unkin.net/api/v1/repos/${CI_REPO}/releases" \
|
||||
RELEASE_RESPONSE=$(curl -sf -X POST "https://git.unkin.net/api/v1/repos/${CI_REPO}/releases" \
|
||||
-u "droneci:$DRONECI_PASSWORD" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{\"tag_name\":\"${CI_COMMIT_TAG}\",\"name\":\"${CI_COMMIT_TAG}\",\"body\":\"${BODY}\"}" \
|
||||
| grep -o '"id":[0-9]*' | head -1 | cut -d: -f2)
|
||||
-d "{\"tag_name\":\"${CI_COMMIT_TAG}\",\"name\":\"${CI_COMMIT_TAG}\",\"body\":\"${BODY}\"}")
|
||||
echo "Release API response: ${RELEASE_RESPONSE}"
|
||||
RELEASE_ID=$(echo "${RELEASE_RESPONSE}" | grep -o '"id":[0-9]*' | head -1 | cut -d: -f2)
|
||||
if [ -z "$RELEASE_ID" ]; then
|
||||
echo "ERROR: failed to obtain release ID" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "Release ID: ${RELEASE_ID}"
|
||||
curl -sf -X POST "https://git.unkin.net/api/v1/repos/${CI_REPO}/releases/${RELEASE_ID}/assets" \
|
||||
-u "droneci:$DRONECI_PASSWORD" \
|
||||
-F "attachment=@node-lookup"
|
||||
|
||||
Reference in New Issue
Block a user