Skip to content

Commit c9fab86

Browse files
ci: create release note body from commit messages
1 parent 2c7452a commit c9fab86

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

.github/workflows/release.yml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ name: Create Release
22

33
on:
44
push:
5-
branches: [main, master]
5+
branches: [main]
66
tags: ["v*"]
77
pull_request:
8-
branches: [main, master]
8+
branches: [main]
99
types: [closed]
1010
workflow_dispatch:
1111

@@ -47,14 +47,29 @@ jobs:
4747
- name: Create Release
4848
if: steps.check_version.outputs.skip_release == 'false'
4949
run: |
50+
LATEST_TAG=$(gh release list --limit 1 --json tagName --jq '.[0].tagName // ""')
51+
52+
if [[ -n "$LATEST_TAG" ]]; then
53+
COMMIT_RANGE="${LATEST_TAG}..HEAD"
54+
else
55+
COMMIT_RANGE="HEAD"
56+
fi
57+
58+
echo "## What's Changed" > release_notes.md
59+
echo "" >> release_notes.md
60+
git log $COMMIT_RANGE --pretty=format:"* %s" --reverse >> release_notes.md
61+
62+
# Also add auto-generated notes for PR info
63+
echo "" >> release_notes.md
64+
echo "**Full Changelog**: https://github.com/${{ github.repository }}/compare/${LATEST_TAG}...${{ steps.check_version.outputs.version }}" >> release_notes.md
65+
5066
gh release create \
5167
${{ steps.check_version.outputs.version }} \
5268
--title ${{ steps.check_version.outputs.version }} \
5369
--fail-on-no-commits \
5470
--verify-tag \
5571
--target main \
56-
--notes-start-tag "v2.0.0" \
57-
--generate-notes \
72+
--notes-file release_notes.md \
5873
--latest \
5974
source.sh script.sh template.sh clone_bash_template.fish
6075
env:

0 commit comments

Comments
 (0)