From 1d5fc9c0f559866487237046b1cedc09a5ff98b7 Mon Sep 17 00:00:00 2001 From: Shekhar Vaidya Date: Mon, 13 Jul 2026 11:16:24 +0530 Subject: [PATCH] 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 --- .github/workflows/cli-release.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cli-release.yml b/.github/workflows/cli-release.yml index 5e793c5..487fec5 100644 --- a/.github/workflows/cli-release.yml +++ b/.github/workflows/cli-release.yml @@ -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