diff --git a/.woodpecker/release.yaml b/.woodpecker/release.yaml index 9ab5495..54a137f 100644 --- a/.woodpecker/release.yaml +++ b/.woodpecker/release.yaml @@ -15,16 +15,23 @@ steps: depends_on: [test] - name: release - image: alpine/curl + image: git.unkin.net/unkin/almalinux9-base:20260325 environment: DRONECI_PASSWORD: from_secret: DRONECI_PASSWORD commands: - | + PREV_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "") + if [ -n "$PREV_TAG" ]; then + NOTES=$(git log "${PREV_TAG}..${CI_COMMIT_TAG}" --merges --pretty=format:"- %s") + else + 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" \ -u "droneci:$DRONECI_PASSWORD" \ -H "Content-Type: application/json" \ - -d "{\"tag_name\":\"${CI_COMMIT_TAG}\",\"name\":\"${CI_COMMIT_TAG}\"}" \ + -d "{\"tag_name\":\"${CI_COMMIT_TAG}\",\"name\":\"${CI_COMMIT_TAG}\",\"body\":\"${BODY}\"}" \ | grep -o '"id":[0-9]*' | head -1 | cut -d: -f2) curl -sf -X POST "https://git.unkin.net/api/v1/repos/${CI_REPO}/releases/${RELEASE_ID}/assets" \ -u "droneci:$DRONECI_PASSWORD" \