diff --git a/.woodpecker/release.yaml b/.woodpecker/release.yaml index 54a137f..46fd94f 100644 --- a/.woodpecker/release.yaml +++ b/.woodpecker/release.yaml @@ -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"