Skip to content

Commit e4e7cd4

Browse files
committed
Don’t output release notes to a release if there are no changes in the CHANGELOG
1 parent 60317e5 commit e4e7cd4

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

.github/workflows/release.yml

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -271,16 +271,25 @@ jobs:
271271
# Make script executable
272272
chmod +x Scripts/generate-release-notes.sh
273273
274-
# Check if Unreleased section exists and has content
274+
# Check if Unreleased section exists
275275
if grep -q "^## \[Unreleased\]" CHANGELOG.md; then
276-
echo "📝 Found [Unreleased] section, updating CHANGELOG.md for $VERSION"
277-
278-
# Update CHANGELOG to convert Unreleased to versioned release
279-
if ./Scripts/generate-release-notes.sh "$VERSION" --update-changelog 2>&1; then
280-
echo "✅ Successfully updated CHANGELOG.md"
281-
echo "CHANGELOG_UPDATED=true" >> $GITHUB_ENV
276+
# Check if Unreleased section has actual content (not just empty lines)
277+
UNRELEASED_CONTENT=$(awk '/^## \[Unreleased\]$/,/^## \[/ { if (!/^## / && NF > 0) print }' CHANGELOG.md)
278+
279+
if [ -n "$UNRELEASED_CONTENT" ]; then
280+
echo "📝 Found [Unreleased] section with content, updating CHANGELOG.md for $VERSION"
281+
282+
# Update CHANGELOG to convert Unreleased to versioned release
283+
if ./Scripts/generate-release-notes.sh "$VERSION" --update-changelog 2>&1; then
284+
echo "✅ Successfully updated CHANGELOG.md"
285+
echo "CHANGELOG_UPDATED=true" >> $GITHUB_ENV
286+
else
287+
echo "⚠️ Failed to update CHANGELOG.md, will use existing version"
288+
echo "CHANGELOG_UPDATED=false" >> $GITHUB_ENV
289+
fi
282290
else
283-
echo "⚠️ Failed to update CHANGELOG.md, will use existing version"
291+
echo "ℹ️ [Unreleased] section is empty, skipping CHANGELOG update"
292+
echo "ℹ️ Please ensure CHANGELOG has release notes before creating a release"
284293
echo "CHANGELOG_UPDATED=false" >> $GITHUB_ENV
285294
fi
286295
else

0 commit comments

Comments
 (0)