fix(ci): correct release changelog generation

Two bugs combined to make v0.3.4's changelog show the previous
release's version-bump commit instead of the actual change:

1. The path filter (cli/ backend/ frontend/) excluded workflow-only
   changes, so a CI-only addition (like linux-arm64) never appeared.
2. The "bump version + winget manifest" commit is created *after* its
   own tag (it needs the release's SHA256, which doesn't exist until
   after tagging) -- so it always lands in the *next* release's diff
   range instead of its own, showing up as stale noise.

Adds .github/workflows/cli-release.yml to the path filter, filters
out "chore(release): bump" commits as noise, and falls back to a
generic line if a release genuinely has nothing else to show.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Shekhar Vaidya 2026-07-13 11:16:24 +05:30
parent e1151ff0cf
commit 1d5fc9c0f5

View file

@ -36,7 +36,10 @@ jobs:
run: |
PREV_TAG=$(git tag --sort=-version:refname | grep 'cli/v' | sed -n '2p')
if [ -n "$PREV_TAG" ]; then
CHANGELOG=$(git log --pretty=format:"- %s" "$PREV_TAG".."${{ github.ref_name }}" -- cli/ backend/ frontend/ | grep -v '^- chore(winget)' | head -30)
CHANGELOG=$(git log --pretty=format:"- %s" "$PREV_TAG".."${{ github.ref_name }}" -- cli/ backend/ frontend/ .github/workflows/cli-release.yml | grep -v '^- chore(winget)' | grep -v '^- chore(release): bump' | head -30)
if [ -z "$CHANGELOG" ]; then
CHANGELOG="- Maintenance release (see commit history for details)"
fi
else
CHANGELOG="- Initial release"
fi