diff --git a/.gitea/workflows/AutoRelease.yaml b/.gitea/workflows/AutoRelease.yaml index 1c71c3c..a0a514a 100644 --- a/.gitea/workflows/AutoRelease.yaml +++ b/.gitea/workflows/AutoRelease.yaml @@ -53,24 +53,30 @@ jobs: # 安装 tea 工具 sudo apt-get install -y tea golang - - name: 生成版本号 - id: generate_version + - name: 从提交信息提取版本号 + id: extract_version run: | - VERSION=$(echo "${{ github.event.head_commit.message }}" | grep -oP 'Release v\K[0-9.]+') - echo "::set-output name=version::$VERSION" + # 从提交信息中提取 vX.X.X 格式的版本号 + VERSION=$(echo "${{ github.event.head_commit.message }}" | grep -oE 'v[0-9]+\.[0-9]+\.[0-9]+') + echo "提取到的版本号: $VERSION" + echo "version=$VERSION" >> $GITHUB_OUTPUT - - name: 创建标签 + - name: 验证版本号 run: | - # git tag -d v${{ steps.generate_version.outputs.version }} - # git push origin --delete v${{ steps.generate_version.outputs.version }} - git tag -a v${{ steps.generate_version.outputs.version }} -m "Release v${{ steps.generate_version.outputs.version }}" - git push origin v${{ steps.generate_version.outputs.version }} + if [ -z "${{ steps.extract_version.outputs.version }}" ]; then + echo "::error::提交信息中未找到有效的版本号 (示例: 'Release v1.0.5')" + exit 1 + fi - - name: 创建发布 + - name: 创建并推送标签 + run: | + git tag -a ${{ steps.extract_version.outputs.version }} \ + -m "Release ${{ steps.extract_version.outputs.version }}" + git push origin ${{ steps.extract_version.outputs.version }} + + - name: 创建Gitea发布 uses: https://gitea.com/actions/release-action@main with: - tag_name: v${{ steps.generate_version.outputs.version }} - release_name: Release v${{ steps.generate_version.outputs.version }} - body: | - 这是版本 v${{ steps.generate_version.outputs.version }} 的发布说明。 - 你可以在这里详细描述这个版本的变更内容。 \ No newline at end of file + tag_name: ${{ steps.extract_version.outputs.version }} + release_name: Release ${{ steps.extract_version.outputs.version }} + body: "自动化发布版本 ${{ steps.extract_version.outputs.version }}" \ No newline at end of file