@@ -130,21 +130,27 @@ jobs:
130130 echo "" >> CHANGELOG.md
131131 fi
132132
133- # Prepare new entry
134- cat > /tmp/new_entry.md <<EOF
133+ # Check if this version already exists in the changelog
134+ if grep -q "## \[v${{ steps.bump_version.outputs.new_version }}\]" CHANGELOG.md; then
135+ echo "Version v${{ steps.bump_version.outputs.new_version }} already exists in CHANGELOG.md, skipping update"
136+ else
137+ # Prepare new entry
138+ cat > /tmp/new_entry.md <<EOF
135139 ## [v${{ steps.bump_version.outputs.new_version }}] - $(date +%Y-%m-%d)
136140
137141 EOF
138142
139- cat /tmp/changelog.md | tail -n +3 >> /tmp/new_entry.md
140- echo "" >> /tmp/new_entry.md
143+ cat /tmp/changelog.md | tail -n +3 >> /tmp/new_entry.md
144+ echo "" >> /tmp/new_entry.md
141145
142- # Insert after the header
143- sed -i '1,/^All notable/r /tmp/new_entry.md' CHANGELOG.md || {
144- # If sed fails (no header found), just prepend
145- cat /tmp/new_entry.md CHANGELOG.md > /tmp/new_changelog.md
146- mv /tmp/new_changelog.md CHANGELOG.md
147- }
146+ # Insert after the header
147+ sed -i '1,/^All notable/r /tmp/new_entry.md' CHANGELOG.md || {
148+ # If sed fails (no header found), just prepend
149+ cat /tmp/new_entry.md CHANGELOG.md > /tmp/new_changelog.md
150+ mv /tmp/new_changelog.md CHANGELOG.md
151+ }
152+ echo "Added v${{ steps.bump_version.outputs.new_version }} to CHANGELOG.md"
153+ fi
148154
149155 - name : Create Pull Request
150156 uses : peter-evans/create-pull-request@v6
0 commit comments