7878 - name : Generate Release Notes
7979 id : release_notes
8080 run : |
81- # Current UTC date
81+ # Get the current date
8282 release_date=$(date -u +"%Y-%m-%d")
83-
84- # Use the current version (exported earlier to GITHUB_ENV as 'version'); fallback to 'dev'
85- VER=${version:-dev}
86-
87- # Header: include version and date as a Markdown H2
88- echo "## Release v${VER} — ${release_date}" > release_notes.md
89- echo "" >> release_notes.md
83+ echo "Release Date: $release_date" > release_notes.md
9084
9185 # Determine a sensible commit range. Use commits since last tag if there is a tag, otherwise HEAD
9286 if git describe --tags --abbrev=0 >/dev/null 2>&1; then
@@ -96,15 +90,13 @@ jobs:
9690 commit_range="HEAD"
9791 fi
9892
99- # Commits section (Markdown)
100- echo "### Commits" >> release_notes.md
101- echo "" >> release_notes.md
102- git log --pretty=format:"- %s (%h)" $commit_range >> release_notes.md || true
93+ # Add commit messages
94+ echo -e "\n### Commits:\n" >> release_notes.md
95+ git log --pretty=format:"- %s (%h)" $commit_range >> release_notes.md
10396
104- # Export the release notes into GITHUB_ENV as a multiline variable so newlines are preserved
105- echo "release_notes<<EOF" >> $GITHUB_ENV
106- cat release_notes.md >> $GITHUB_ENV
107- echo "EOF" >> $GITHUB_ENV
97+ # Escape multiline release notes for GITHUB_ENV
98+ escaped_notes=$(awk '{printf "%s\\n", $0}' release_notes.md)
99+ echo "release_notes=${escaped_notes}" >> $GITHUB_ENV
108100
109101 - name : Create and push tag (Main Branch Only)
110102 if : github.ref == 'refs/heads/main'
0 commit comments