fix(ci): generate per-release changelog body using positional range arg
All checks were successful
Test / rust-fmt-check (push) Successful in 16m7s
Test / rust-clippy (push) Successful in 17m39s
Test / rust-tests (push) Successful in 19m11s
Auto Tag / autotag (push) Successful in 12s
Auto Tag / wiki-sync (push) Successful in 15s
Auto Tag / changelog (push) Successful in 1m28s
Auto Tag / build-macos-arm64 (push) Successful in 8m47s
Test / frontend-typecheck (push) Successful in 1m54s
Test / frontend-tests (push) Successful in 1m44s
Auto Tag / build-linux-amd64 (push) Successful in 9m59s
Auto Tag / build-windows-amd64 (push) Successful in 11m47s
Auto Tag / build-linux-arm64 (push) Successful in 12m3s

git-cliff's --tag flag sets the display label for unreleased commits;
it does not scope commits to a range. Passing a range string to --tag
caused git-cliff to emit the full cumulative history for every release.

Move the revision range from --tag to a positional argument so only
commits between PREV_TAG and CURRENT_TAG appear in each release body.
CHANGELOG.md generation is unaffected (still full history).
This commit is contained in:
Shaun Arman 2026-06-07 17:05:16 -05:00
parent 55a9f286e3
commit e703d2da59

View File

@ -138,8 +138,8 @@ jobs:
PREV_TAG=$(git tag --sort=-version:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' \
| grep -v "^${CURRENT_TAG}$" | head -1 || echo "")
if [ -n "$PREV_TAG" ]; then
# Generate changelog for current tag only using tag range
git-cliff --config cliff.toml --tag "${PREV_TAG}..${CURRENT_TAG}" > /tmp/release_body.md || true
# Generate release body for this tag only (commits since previous tag)
git-cliff --config cliff.toml "${PREV_TAG}..${CURRENT_TAG}" > /tmp/release_body.md || true
# Generate full CHANGELOG.md from all tags
git-cliff --config cliff.toml --output CHANGELOG.md
else