44 workflow_dispatch :
55 inputs :
66 version :
7- description : ' 版本号 (如: 0.7.1, 1.0.0-beta.1)'
7+ description : ' Version number (e.g., 0.7.1, 1.0.0-beta.1)'
88 required : true
99 type : string
10- prerelease :
11- description : ' 是否为预发布版本'
12- required : false
13- type : boolean
14- default : false
1510
1611permissions :
1712 contents : write
@@ -30,19 +25,19 @@ jobs:
3025 run : |
3126 VERSION="${{ github.event.inputs.version }}"
3227 if ! echo "$VERSION" | grep -qE '^[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.-]+)?(\+[a-zA-Z0-9.-]+)?$'; then
33- echo "❌ 错误: 无效的版本格式。请使用语义化版本 (如 1.2.3)"
28+ echo "Error: Invalid version format. Please use semantic versioning (e.g., 1.2.3)"
3429 exit 1
3530 fi
36- echo "✅ 版本格式验证通过 : $VERSION"
31+ echo "Version format validated : $VERSION"
3732
3833 - name : Check if tag exists
3934 run : |
4035 VERSION="${{ github.event.inputs.version }}"
4136 if git rev-parse "v$VERSION" >/dev/null 2>&1; then
42- echo "❌ 错误: 标签 v$VERSION 已存在 "
37+ echo "Error: Tag v$VERSION already exists "
4338 exit 1
4439 fi
45- echo "✅ 标签检查通过 "
40+ echo "Tag check passed "
4641
4742 - name : Setup Git
4843 run : |
@@ -54,16 +49,16 @@ jobs:
5449 VERSION="${{ github.event.inputs.version }}"
5550 VERSION_FILE="internal/version.go"
5651
57- echo "📝 更新版本文件 : $VERSION_FILE"
52+ echo "Updating version file : $VERSION_FILE"
5853 sed -i "s/const RuntimeVersion = \".*\"/const RuntimeVersion = \"$VERSION\"/" "$VERSION_FILE"
5954
60- # 验证更新
55+ # Verify update
6156 NEW_VERSION=$(grep 'const RuntimeVersion' "$VERSION_FILE" | sed 's/.*"\(.*\)".*/\1/')
6257 if [ "$NEW_VERSION" != "$VERSION" ]; then
63- echo "❌ 错误: 版本更新失败 "
58+ echo "Error: Version update failed "
6459 exit 1
6560 fi
66- echo "✅ 版本已更新为 : $VERSION"
61+ echo "Version updated to : $VERSION"
6762
6863 - name : Commit and push version bump
6964 run : |
@@ -77,59 +72,10 @@ jobs:
7772 VERSION="${{ github.event.inputs.version }}"
7873 git tag -a "v$VERSION" -m "Release v$VERSION"
7974 git push origin "v$VERSION"
80- echo "✅ 已创建并推送标签 : v$VERSION"
75+ echo "Tag created and pushed : v$VERSION"
8176
8277 - name : Wait for tag to be available
8378 run : |
84- echo "⏳ 等待 tag 同步到 GitHub..."
79+ echo "Waiting for tag to sync to GitHub..."
8580 sleep 5
86- echo "✅ Tag 应该已经可用,GoReleaser 即将开始工作"
87-
88- - name : Summary
89- run : |
90- VERSION="${{ github.event.inputs.version }}"
91- echo "### 🎉 版本发布已启动!" >> $GITHUB_STEP_SUMMARY
92- echo "" >> $GITHUB_STEP_SUMMARY
93- echo "**版本:** v$VERSION" >> $GITHUB_STEP_SUMMARY
94- echo "**标签:** v$VERSION" >> $GITHUB_STEP_SUMMARY
95- echo "" >> $GITHUB_STEP_SUMMARY
96- echo "## 📋 后续自动流程" >> $GITHUB_STEP_SUMMARY
97- echo "" >> $GITHUB_STEP_SUMMARY
98- echo "1. ✅ 版本文件已更新 (\`internal/version.go\`)" >> $GITHUB_STEP_SUMMARY
99- echo "2. ✅ Git 标签已创建并推送 (\`v$VERSION\`)" >> $GITHUB_STEP_SUMMARY
100- echo "3. 🔄 [GoReleaser workflow](https://github.com/${{ github.repository }}/actions/workflows/go-releaser.yml) 正在构建..." >> $GITHUB_STEP_SUMMARY
101- echo " - 构建所有平台的二进制文件" >> $GITHUB_STEP_SUMMARY
102- echo " - 生成 checksums 和签名" >> $GITHUB_STEP_SUMMARY
103- echo " - 创建 draft release 和 changelog" >> $GITHUB_STEP_SUMMARY
104- echo " - 上传所有构建产物" >> $GITHUB_STEP_SUMMARY
105- echo "4. 🔄 [Inno Setup workflow](https://github.com/${{ github.repository }}/actions/workflows/compile-inno-setup.yml) 将编译 Windows 安装包..." >> $GITHUB_STEP_SUMMARY
106- echo "" >> $GITHUB_STEP_SUMMARY
107- echo "## ⏭️ 下一步操作" >> $GITHUB_STEP_SUMMARY
108- echo "" >> $GITHUB_STEP_SUMMARY
109- echo "1. 等待 GoReleaser 和 Inno Setup workflows 完成(约 10-15 分钟)" >> $GITHUB_STEP_SUMMARY
110- echo "2. 访问 [Releases 页面](https://github.com/${{ github.repository }}/releases)" >> $GITHUB_STEP_SUMMARY
111- echo "3. 找到 \`v$VERSION\` 的 draft release" >> $GITHUB_STEP_SUMMARY
112- echo "4. 检查 changelog 和所有附件是否完整" >> $GITHUB_STEP_SUMMARY
113- echo "5. 点击 **Publish release** 正式发布" >> $GITHUB_STEP_SUMMARY
114- echo "" >> $GITHUB_STEP_SUMMARY
115- echo "---" >> $GITHUB_STEP_SUMMARY
116- echo "" >> $GITHUB_STEP_SUMMARY
117- echo "💡 **提示:** GoReleaser 会自动创建 draft release,你只需要最后点击发布按钮即可!" >> $GITHUB_STEP_SUMMARY
118-
119- notify :
120- needs : create-release
121- runs-on : ubuntu-latest
122- steps :
123- - name : Summary
124- run : |
125- echo "### 🎉 发版流程已启动!" >> $GITHUB_STEP_SUMMARY
126- echo "" >> $GITHUB_STEP_SUMMARY
127- echo "**版本:** v${{ github.event.inputs.version }}" >> $GITHUB_STEP_SUMMARY
128- echo "" >> $GITHUB_STEP_SUMMARY
129- echo "**后续步骤:**" >> $GITHUB_STEP_SUMMARY
130- echo "1. ✅ 版本号已更新" >> $GITHUB_STEP_SUMMARY
131- echo "2. ✅ Git 标签已创建" >> $GITHUB_STEP_SUMMARY
132- echo "3. 🔄 GoReleaser 正在构建资源..." >> $GITHUB_STEP_SUMMARY
133- echo "4. 🔄 Inno Setup 将编译 Windows 安装包..." >> $GITHUB_STEP_SUMMARY
134- echo "" >> $GITHUB_STEP_SUMMARY
135- echo "**注意:** 请等待所有 workflow 完成后,在 [Releases](https://github.com/${{ github.repository }}/releases) 页面发布版本。" >> $GITHUB_STEP_SUMMARY
81+ echo "Tag should be available, GoReleaser will start shortly"
0 commit comments