3737 make clean
3838 make build
3939
40- - name : Generate Changelog
41- run : |
42- VERSION=${GITHUB_REF#refs/tags/}
43- echo "Generating changelog for version: $VERSION"
44-
45- # Get the previous tag
46- PREVIOUS_TAG=$(git describe --tags --abbrev=0 HEAD~1 2>/dev/null || echo "")
47-
48- # Create changelog content
49- echo "# Changelog" > CHANGELOG.md
50- echo "" >> CHANGELOG.md
51- echo "## [${VERSION}] - $(date +'%Y-%m-%d')" >> CHANGELOG.md
52- echo "" >> CHANGELOG.md
53-
54- if [ -n "$PREVIOUS_TAG" ]; then
55- echo "### 🚀 New Features" >> CHANGELOG.md
56- echo "" >> CHANGELOG.md
57- git log --grep="^feat\|^Feat" --pretty=format:"- %s (%h)" ${PREVIOUS_TAG}..HEAD >> CHANGELOG.md 2>/dev/null || echo "- No new features" >> CHANGELOG.md
58- echo "" >> CHANGELOG.md
59-
60- echo "### 🐛 Bug Fixes" >> CHANGELOG.md
61- echo "" >> CHANGELOG.md
62- git log --grep="^fix\|^Bug\|^bug" --pretty=format:"- %s (%h)" ${PREVIOUS_TAG}..HEAD >> CHANGELOG.md 2>/dev/null || echo "- No bug fixes" >> CHANGELOG.md
63- echo "" >> CHANGELOG.md
64-
65- echo "### 🔧 Improvements" >> CHANGELOG.md
66- echo "" >> CHANGELOG.md
67- git log --grep="^perf\|^refactor\|^style" --pretty=format:"- %s (%h)" ${PREVIOUS_TAG}..HEAD >> CHANGELOG.md 2>/dev/null || echo "- No improvements" >> CHANGELOG.md
68- echo "" >> CHANGELOG.md
69-
70- echo "### 📚 Documentation" >> CHANGELOG.md
71- echo "" >> CHANGELOG.md
72- git log --grep="^docs" --pretty=format:"- %s (%h)" ${PREVIOUS_TAG}..HEAD >> CHANGELOG.md 2>/dev/null || echo "- No documentation changes" >> CHANGELOG.md
73- echo "" >> CHANGELOG.md
74-
75- echo "### 🔄 Other Changes" >> CHANGELOG.md
76- echo "" >> CHANGELOG.md
77- git log --grep="^chore\|^Chore\|^test\|^ci\|^build" --pretty=format:"- %s (%h)" ${PREVIOUS_TAG}..HEAD >> CHANGELOG.md 2>/dev/null || echo "- No other changes" >> CHANGELOG.md
78- echo "" >> CHANGELOG.md
79-
80- # If no conventional commits found, show all commits
81- COMMIT_COUNT=$(git log --oneline ${PREVIOUS_TAG}..HEAD | wc -l)
82- if [ "$COMMIT_COUNT" -eq 0 ]; then
83- echo "### 📝 All Changes" >> CHANGELOG.md
84- echo "" >> CHANGELOG.md
85- git log --pretty=format:"- %s (%h)" ${PREVIOUS_TAG}..HEAD >> CHANGELOG.md
86- echo "" >> CHANGELOG.md
87- fi
88- else
89- echo "### 🎉 Initial Release" >> CHANGELOG.md
90- echo "" >> CHANGELOG.md
91- git log --pretty=format:"- %s (%h)" --reverse >> CHANGELOG.md
92- echo "" >> CHANGELOG.md
93- fi
94-
95- echo "### 👥 Contributors" >> CHANGELOG.md
96- echo "" >> CHANGELOG.md
97- if [ -n "$PREVIOUS_TAG" ]; then
98- git log --pretty=format:"- %an <%ae>" ${PREVIOUS_TAG}..HEAD 2>/dev/null | sort -u >> CHANGELOG.md || echo "- ChaosBlade Team" >> CHANGELOG.md
99- else
100- git log --pretty=format:"- %an <%ae>" --reverse 2>/dev/null | sort -u >> CHANGELOG.md || echo "- ChaosBlade Team" >> CHANGELOG.md
101- fi
102-
103- echo "" >> CHANGELOG.md
104- echo "---" >> CHANGELOG.md
105- echo "" >> CHANGELOG.md
106- echo "**Full Changelog**: https://github.com/chaosblade-io/chaosblade-exec-jvm/compare/${PREVIOUS_TAG}...${VERSION}" >> CHANGELOG.md
107-
108- echo "Changelog generated successfully"
109- cat CHANGELOG.md
110-
11140 - name : Create release packages
11241 run : |
11342 VERSION=${GITHUB_REF#refs/tags/}
@@ -123,16 +52,10 @@ jobs:
12352 cp target/*.jar release/ 2>/dev/null || true
12453 fi
12554
126- # Copy changelog to release directory
127- if [ -f "CHANGELOG.md" ]; then
128- cp CHANGELOG.md release/
129- fi
130-
13155 # Create compressed packages
13256 cd release
13357 if [ "$(ls -A)" ]; then
13458 tar -czf chaosblade-jvm-${VERSION}.tar.gz *
135- zip -r chaosblade-jvm-${VERSION}.zip *
13659 else
13760 echo "Warning: No build artifacts found"
13861 fi
14164 uses : softprops/action-gh-release@v1
14265 with :
14366 files : release/*
144- body_path: CHANGELOG.md
145- generate_release_notes: false
67+ generate_release_notes : true
14668 env :
14769 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments