Skip to content

Commit aec32a9

Browse files
committed
Generate release notes from commit messages instead of PRs
1 parent 12c0b47 commit aec32a9

1 file changed

Lines changed: 32 additions & 2 deletions

File tree

.github/workflows/build-and-publish.yml

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,42 @@ jobs:
5959
- name: Package
6060
run: dotnet pack SharpConsoleUI/SharpConsoleUI.csproj --configuration Release --no-build --output ./nupkgs /p:Version=${{ steps.version.outputs.version }}
6161

62+
- name: Generate Release Notes
63+
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
64+
id: release_notes
65+
run: |
66+
# Get previous tag
67+
PREVIOUS_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "")
68+
69+
# Generate commit list
70+
if [ -n "$PREVIOUS_TAG" ]; then
71+
echo "### What's Changed" > release_notes.md
72+
echo "" >> release_notes.md
73+
git log ${PREVIOUS_TAG}..HEAD --pretty=format:"- %s (%h)" --no-merges >> release_notes.md
74+
else
75+
echo "### What's Changed" > release_notes.md
76+
echo "" >> release_notes.md
77+
echo "Initial release" >> release_notes.md
78+
fi
79+
80+
echo "" >> release_notes.md
81+
echo "" >> release_notes.md
82+
if [ -n "$PREVIOUS_TAG" ]; then
83+
echo "**Full Changelog**: https://github.com/${{ github.repository }}/compare/${PREVIOUS_TAG}...v${{ steps.version.outputs.version }}" >> release_notes.md
84+
fi
85+
86+
# Set output
87+
{
88+
echo 'notes<<EOF'
89+
cat release_notes.md
90+
echo EOF
91+
} >> $GITHUB_OUTPUT
92+
6293
- name: Create GitHub Release
6394
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
6495
uses: softprops/action-gh-release@v1
6596
with:
6697
files: ./nupkgs/*.nupkg
67-
generate_release_notes: true
6898
body: |
6999
## SharpConsoleUI ${{ steps.version.outputs.version }}
70100
@@ -75,7 +105,7 @@ jobs:
75105
dotnet add package SharpConsoleUI --version ${{ steps.version.outputs.version }}
76106
```
77107
78-
### What's Changed
108+
${{ steps.release_notes.outputs.notes }}
79109
env:
80110
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
81111

0 commit comments

Comments
 (0)