Skip to content

Commit 3de3cdf

Browse files
bricefclaude
andcommitted
Exclude changelog commits from release notes
Filter out "Update CHANGELOG" commits from both the CHANGELOG.md generation and the GitHub Release notes so they don't appear as duplicate entries. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent da54c1f commit 3de3cdf

2 files changed

Lines changed: 6 additions & 5 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ jobs:
8686
PREV=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || git rev-list --max-parents=0 HEAD)
8787
echo "## What's Changed" > release-notes.md
8888
echo "" >> release-notes.md
89-
git log --pretty=format:"- %s" "${PREV}..HEAD" --no-merges >> release-notes.md
89+
git log --pretty=format:"- %s" "${PREV}..HEAD" --no-merges --grep="^Update CHANGELOG" --invert-grep >> release-notes.md
9090
echo "" >> release-notes.md
9191
echo "" >> release-notes.md
9292
echo "**Docker:** \`docker pull ${{ secrets.DOCKERHUB_USERNAME }}/taskflow:${{ github.ref_name }}\`" >> release-notes.md

justfile

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,18 +134,19 @@ release tag:
134134
exit 1
135135
fi
136136

137-
# Generate changelog entry.
137+
# Generate changelog entry from commits since the last tag,
138+
# excluding previous changelog commits.
138139
PREV=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
139140
DATE=$(date +%Y-%m-%d)
140141
ENTRY="## {{tag}} — ${DATE}"$'\n\n'
141142
if [ -n "$PREV" ]; then
142-
ENTRY+=$(git log --pretty=format:"- %s" "${PREV}..HEAD" --no-merges)
143+
ENTRY+=$(git log --pretty=format:"- %s" "${PREV}..HEAD" --no-merges --grep="^Update CHANGELOG" --invert-grep)
143144
else
144-
ENTRY+=$(git log --pretty=format:"- %s" --no-merges)
145+
ENTRY+=$(git log --pretty=format:"- %s" --no-merges --grep="^Update CHANGELOG" --invert-grep)
145146
fi
146147
ENTRY+=$'\n'
147148

148-
# Prepend to CHANGELOG.md (after the header line).
149+
# Prepend to CHANGELOG.md (after the header).
149150
HEADER=$(head -3 CHANGELOG.md)
150151
BODY=$(tail -n +4 CHANGELOG.md)
151152
printf '%s\n\n%s\n%s' "$HEADER" "$ENTRY" "$BODY" > CHANGELOG.md

0 commit comments

Comments
 (0)