Skip to content

Commit 0c355d6

Browse files
committed
ci(release): 更新发布的内容
1 parent d80ba7b commit 0c355d6

File tree

1 file changed

+50
-2
lines changed

1 file changed

+50
-2
lines changed

.github/workflows/release.yml

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,52 @@ jobs:
138138
echo "checksums generated:"
139139
cat checksums.txt
140140
141+
# 生成详细的更新日志
142+
- name: Generate changelog
143+
id: changelog
144+
run: |
145+
set -e
146+
147+
# 获取上一个 tag
148+
PREVIOUS_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "")
149+
CURRENT_TAG="${{ steps.version.outputs.VERSION }}"
150+
151+
echo "Generating changelog from ${PREVIOUS_TAG} to ${CURRENT_TAG}..."
152+
153+
# 创建 changelog 文件
154+
CHANGELOG_FILE="release/CHANGELOG.md"
155+
156+
echo "## 📝 更新内容" > $CHANGELOG_FILE
157+
echo "" >> $CHANGELOG_FILE
158+
159+
if [ -z "$PREVIOUS_TAG" ]; then
160+
# 首次发布,列出所有提交
161+
git log --pretty=format:"- %s ([%h](https://github.com/${{ github.repository }}/commit/%H))" >> $CHANGELOG_FILE
162+
else
163+
# 列出自上个版本以来的所有提交
164+
git log ${PREVIOUS_TAG}..HEAD --pretty=format:"- %s ([%h](https://github.com/${{ github.repository }}/commit/%H))" >> $CHANGELOG_FILE
165+
fi
166+
167+
echo "" >> $CHANGELOG_FILE
168+
echo "" >> $CHANGELOG_FILE
169+
echo "---" >> $CHANGELOG_FILE
170+
echo "" >> $CHANGELOG_FILE
171+
172+
if [ -z "$PREVIOUS_TAG" ]; then
173+
echo "**初始版本发布**" >> $CHANGELOG_FILE
174+
else
175+
echo "**完整更新日志**: https://github.com/${{ github.repository }}/compare/${PREVIOUS_TAG}...${CURRENT_TAG}" >> $CHANGELOG_FILE
176+
fi
177+
178+
# 输出到控制台查看
179+
echo "Generated changelog:"
180+
cat $CHANGELOG_FILE
181+
182+
# 将 changelog 内容保存到环境变量(用于 release body)
183+
echo "CHANGELOG_CONTENT<<EOF" >> $GITHUB_OUTPUT
184+
cat $CHANGELOG_FILE >> $GITHUB_OUTPUT
185+
echo "EOF" >> $GITHUB_OUTPUT
186+
141187
- name: Upload release artifacts (for job debug/download)
142188
uses: actions/upload-artifact@v4
143189
with:
@@ -149,7 +195,7 @@ jobs:
149195
uses: softprops/action-gh-release@v2
150196
if: github.event_name == 'push'
151197
with:
152-
generate_release_notes: true
198+
body: ${{ steps.changelog.outputs.CHANGELOG_CONTENT }}
153199
files: |
154200
release/cert-deploy-mac
155201
release/cert-deploy-mac-arm64
@@ -158,6 +204,7 @@ jobs:
158204
release/cert-deploy-windows.exe
159205
release/cert-deploy-windows-arm64.exe
160206
release/checksums.txt
207+
release/CHANGELOG.md
161208
draft: false
162209
prerelease: false
163210

@@ -167,7 +214,7 @@ jobs:
167214
with:
168215
tag_name: ${{ steps.version.outputs.VERSION }}
169216
name: Release ${{ steps.version.outputs.VERSION }}
170-
generate_release_notes: true
217+
body: ${{ steps.changelog.outputs.CHANGELOG_CONTENT }}
171218
files: |
172219
release/cert-deploy-mac
173220
release/cert-deploy-mac-arm64
@@ -176,5 +223,6 @@ jobs:
176223
release/cert-deploy-windows.exe
177224
release/cert-deploy-windows-arm64.exe
178225
release/checksums.txt
226+
release/CHANGELOG.md
179227
draft: false
180228
prerelease: false

0 commit comments

Comments
 (0)