ci: extract release notes from commitizen-style changelog headings
The release-notes awk matched Keep-a-Changelog "## [X.Y.Z]" brackets, but commitizen writes "## vX.Y.Z (date)", so every release body fell back to the "Release vX.Y.Z" stub. Match the "## v" heading form instead so the release carries its actual changelog section. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NGzHtDvJur9U7ysgRKRUTN
This commit is contained in:
@@ -85,7 +85,9 @@ jobs:
|
||||
run: |
|
||||
v="${{ steps.bump.outputs.version }}"
|
||||
# Body = this version's section from CHANGELOG.md (fallback to a stub).
|
||||
body=$(awk "/^## \\[$v\\]/{f=1;next} /^## \\[/{f=0} f" CHANGELOG.md)
|
||||
# Commitizen writes headings as "## vX.Y.Z (date)", so match that form
|
||||
# (not the Keep-a-Changelog "## [X.Y.Z]" brackets) and stop at the next.
|
||||
body=$(awk "/^## v$v/{f=1;next} /^## v/{f=0} f" CHANGELOG.md)
|
||||
[ -z "$body" ] && body="Release v$v"
|
||||
jq -n --arg tag "v$v" --arg name "v$v" --arg body "$body" \
|
||||
'{tag_name:$tag, name:$name, body:$body, draft:false, prerelease:false}' \
|
||||
|
||||
Reference in New Issue
Block a user