@@ -182,7 +182,7 @@ jobs:
182182 path : dist/*.*
183183
184184 # ===================================================================
185- # Generate Changelog & Release
185+ # Create & Publish GitHub Release
186186 # ===================================================================
187187 release :
188188 name : Create GitHub Release
@@ -197,71 +197,6 @@ jobs:
197197 with :
198198 fetch-depth : 0
199199
200- - name : Generate Changelog
201- id : changelog
202- shell : bash
203- run : |
204- # 获取前一个 tag
205- PREV_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "")
206- CURRENT_TAG=${GITHUB_REF#refs/tags/}
207-
208- echo "Previous tag: $PREV_TAG"
209- echo "Current tag: $CURRENT_TAG"
210-
211- if [ -z "$PREV_TAG" ]; then
212- echo "No previous tag found. Generating log from start."
213- git log --pretty=format:"- %s (%h)" > changelog_content.md
214- else
215- echo "Generating log from $PREV_TAG to $CURRENT_TAG"
216- git log ${PREV_TAG}..HEAD --pretty=format:"- %s (%h)" > changelog_content.md
217- fi
218-
219- # 翻译提交类型 (Conventional Commits)
220- sed -i -E 's/^- feat(\(.*\))?:/- ✨ 新增:/g' changelog_content.md
221- sed -i -E 's/^- fix(\(.*\))?:/- 🐞 修复:/g' changelog_content.md
222- sed -i -E 's/^- docs(\(.*\))?:/- 📝 文档:/g' changelog_content.md
223- sed -i -E 's/^- style(\(.*\))?:/- 💄 样式:/g' changelog_content.md
224- sed -i -E 's/^- refactor(\(.*\))?:/- ♻️ 重构:/g' changelog_content.md
225- sed -i -E 's/^- perf(\(.*\))?:/- ⚡️ 性能:/g' changelog_content.md
226- sed -i -E 's/^- test(\(.*\))?:/- ✅ 测试:/g' changelog_content.md
227- sed -i -E 's/^- build(\(.*\))?:/- 📦 构建:/g' changelog_content.md
228- sed -i -E 's/^- ci(\(.*\))?:/- 👷 CI:/g' changelog_content.md
229- sed -i -E 's/^- chore(\(.*\))?:/- 🔧 维护:/g' changelog_content.md
230- sed -i -E 's/^- revert(\(.*\))?:/- ⏪️ 回退:/g' changelog_content.md
231-
232- # 1. 生成 CHANGELOG.md 的新条目
233- # 添加标题和日期
234- DATE=$(date +%Y-%m-%d)
235- echo -e "\n## [$CURRENT_TAG] - $DATE\n" > temp_header.md
236- cat temp_header.md changelog_content.md > new_entry.md
237-
238- # 更新 CHANGELOG.md
239- if [ ! -f CHANGELOG.md ]; then
240- echo "# 更新日志" > CHANGELOG.md
241- fi
242-
243- # 将新内容插入到 CHANGELOG.md 的第二行(标题之后)
244- head -n 1 CHANGELOG.md > temp_changelog.md
245- echo "" >> temp_changelog.md
246- cat new_entry.md >> temp_changelog.md
247- echo "" >> temp_changelog.md
248- tail -n +2 CHANGELOG.md >> temp_changelog.md
249- mv temp_changelog.md CHANGELOG.md
250-
251- # 2. 生成 Release Body (release_notes.md)
252- cat changelog_content.md > release_notes.md
253-
254- # 输出生成的日志内容供 Release 使用
255- cat release_notes.md
256-
257- - name : Commit & Push Changelog
258- run : |
259- git config --local user.email "github-actions[bot]@users.noreply.github.com"
260- git config --local user.name "github-actions[bot]"
261- git add CHANGELOG.md
262- git commit -m "docs: 更新变更日志 $GITHUB_REF_NAME [skip ci]" || echo "No changes to commit"
263- git push origin HEAD:main || echo "Failed to push to main. This might happen if tag is not on main."
264-
265200 - name : Setup Node.js
266201 uses : actions/setup-node@v6
267202 with :
@@ -272,7 +207,7 @@ jobs:
272207 with :
273208 path : artifacts
274209
275- # 整理待发布资源:合并多架构 Win/Mac 更新清单、保留各架构 Linux 清单、剔除调试文件
210+ # 整理待发布资源
276211 - name : Prepare release assets
277212 shell : bash
278213 run : |
@@ -289,14 +224,22 @@ jobs:
289224 shell : bash
290225 run : |
291226 TAG="${GITHUB_REF#refs/tags/}"
292- # 重跑场景:若同名 release 已存在则先删除,避免脏状态(保留 tag)
227+ # 固定维护说明
228+ cat > notes.md <<'EOF'
229+ ## 本项目进入维护模式
230+ > 项目已进入维护模式,后续仅进行必要的维护与重大问题修复,不再主动开发新功能
231+ > 新功能及后续版本请移步 [SPlayer-Next](https://github.com/SPlayer-Dev/SPlayer-Next)
232+
233+ EOF
234+ # 重跑场景
293235 if gh release view "$TAG" --repo "$GITHUB_REPOSITORY" >/dev/null 2>&1; then
294236 gh release delete "$TAG" --repo "$GITHUB_REPOSITORY" --yes
295237 fi
296238 gh release create "$TAG" \
297239 --repo "$GITHUB_REPOSITORY" \
298240 --title "$TAG" \
299- --notes-file release_notes.md \
241+ --notes-file notes.md \
242+ --generate-notes \
300243 --verify-tag \
301244 --draft \
302245 release-assets/*
0 commit comments