2727 uses : actions/checkout@v4
2828 with :
2929 fetch-depth : 0
30+ token : ${{ secrets.GITHUB_TOKEN }} # 用于 git push
3031
3132 - name : Setup pnpm
3233 uses : pnpm/action-setup@v4
8283 git config user.name "github-actions[bot]"
8384 git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
8485
85- # 从 package.json 获取版本并创建 tag
86+ # 获取主版本号
87+ MAIN_VERSION=$(node -p "require('./package.json').version")
88+
89+ # 创建主版本 tag (用于 GitHub Release)
90+ git tag -a "v${MAIN_VERSION}" -m "Release v${MAIN_VERSION}" || echo "Tag v${MAIN_VERSION} already exists"
91+
92+ # 从 package.json 获取版本并创建包级别 tag
8693 for pkg in packages/*/package.json protocols/*/*/package.json adapters/*/package.json; do
8794 if [ -f "$pkg" ]; then
8895 name=$(node -p "require('./$pkg').name")
@@ -91,12 +98,14 @@ jobs:
9198 private=$(node -p "require('./$pkg').private || false")
9299 if [ "$private" = "false" ]; then
93100 tag="${name}@${version}"
94- git tag -a "$tag" -m "Release $tag" || true
101+ git tag -a "$tag" -m "Release $tag" 2>/dev/null || echo "Tag $tag already exists"
95102 fi
96103 fi
97104 done
98105
99106 git push --tags
107+ env :
108+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
100109
101110 - name : Create GitHub Release
102111 uses : ncipollo/release-action@v1
@@ -106,6 +115,8 @@ jobs:
106115 draft : false
107116 prerelease : false
108117 tag : " v${{ steps.get_version.outputs.version }}"
109- name : " v${{ steps.get_version.outputs.version }}"
118+ name : " 🚀 OneBots v${{ steps.get_version.outputs.version }}"
110119 generateReleaseNotes : true
111120 makeLatest : true
121+ allowUpdates : true # 允许更新已存在的 Release
122+ skipIfReleaseExists : false
0 commit comments