Add merged branch release notes to Gitea release body (#4)
ci/woodpecker/release/release Pipeline failed
ci/woodpecker/release/release Pipeline failed
Generates release notes from merged branches since last tag and includes them in the release body via Gitea API. Reviewed-on: #4
This commit was merged in pull request #4.
This commit is contained in:
@@ -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" \
|
||||
|
||||
Reference in New Issue
Block a user