ScreenPresenter Release Skill
适用场景
- •用户要求发布新版本(例如
1.0.5) - •用户要求一键完成发版流程
- •用户要求同步更新 changelog / appcast / GitHub Release
执行入口
- •交互式:
- •
./release_oneclick.sh
- •
- •一键非交互:
- •
./release_oneclick.sh <version> --yes - •例:
./release_oneclick.sh 1.0.5 --yes
- •
脚本行为(自动完成)
- •基于上一个 tag 到
HEAD的提交,自动补充docs/CHANGELOG.md当前版本条目(若缺失)。 - •用 changelog 当前版本内容更新
appcast.xml的描述与版本标题(签名与下载链接由后续步骤写入)。 - •
git add -A并提交release: prepare <version>(有改动才提交)。 - •创建本地 tag:
<version>。 - •执行
./release.sh <version>(构建、签名、更新 appcast、创建 GitHub Release)。 - •对发布后变更做收尾提交:
release: finalize <version> metadata(有改动才提交)。
前置条件
- •已安装并登录
gh(GitHub CLI) - •已安装 Sparkle 工具(
sign_update) - •具备发布权限
验证项
- •
git show --no-patch --decorate <version> - •
appcast.xml中sparkle:shortVersionString、sparkle:version、enclosure url/length/edSignature - •GitHub Release 页面与仓库内 raw appcast:
https://raw.githubusercontent.com/HapticTide/ScreenPresenter/main/appcast.xml
注意事项
- •本流程不会自动执行
git push。 - •若目标 tag 已存在,脚本会直接失败并停止。