Adding changelog generation

This commit is contained in:
Dave
2026-03-13 13:02:25 +00:00
parent fb8a8773ea
commit 1a232f36af

View File

@@ -67,6 +67,29 @@ chmod +x "${DIST}"/*
echo "==> Binaries:"
ls -lh "${DIST}"/
# ── Changelog ──────────────────────────────────────────────────
echo "==> Generating changelog..."
PREV_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
if [ -n "$PREV_TAG" ]; then
CHANGELOG=$(git log "${PREV_TAG}..HEAD" --pretty=format:"- %s" --no-merges)
RANGE="${PREV_TAG}...${TAG}"
else
CHANGELOG=$(git log --pretty=format:"- %s" --no-merges)
RANGE="initial...${TAG}"
fi
if [ -z "$CHANGELOG" ]; then
CHANGELOG="- No changes since last release"
fi
RELEASE_BODY="## What's Changed
${CHANGELOG}
**Full diff:** ${GITEA_URL}/${REPO}/compare/${RANGE}"
echo "$RELEASE_BODY"
# ── Tag & Push ─────────────────────────────────────────────────
echo "==> Tagging ${TAG}..."
git tag -a "$TAG" -m "Release ${TAG}"
@@ -74,11 +97,20 @@ git push origin "$TAG"
# ── Create Gitea Release ──────────────────────────────────────
echo "==> Creating release on Gitea..."
RELEASE_JSON=$(python3 -c "
import json, sys
print(json.dumps({
'tag_name': sys.argv[1],
'name': sys.argv[1],
'body': sys.argv[2]
}))
" "$TAG" "$RELEASE_BODY")
RELEASE_RESPONSE=$(curl -sf -X POST \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/json" \
"${GITEA_URL}/api/v1/repos/${REPO}/releases" \
-d "{\"tag_name\": \"${TAG}\", \"name\": \"${TAG}\", \"body\": \"Release ${TAG}\"}")
-d "$RELEASE_JSON")
RELEASE_ID=$(echo "$RELEASE_RESPONSE" | python3 -c "import sys,json; print(json.load(sys.stdin)['id'])")