|
|
@@ -6,61 +6,8 @@ on:
|
|
|
- 'v*'
|
|
|
|
|
|
jobs:
|
|
|
- # 第一步:清理旧的发布和标签
|
|
|
- cleanup:
|
|
|
- runs-on: ubuntu-latest
|
|
|
- steps:
|
|
|
- - name: Delete all previous releases and tags
|
|
|
- uses: actions/github-script@v7
|
|
|
- with:
|
|
|
- script: |
|
|
|
- const { owner, repo } = context.repo;
|
|
|
- const currentTag = context.ref.replace('refs/tags/', '');
|
|
|
-
|
|
|
- // 获取所有 releases
|
|
|
- const releases = await github.rest.repos.listReleases({
|
|
|
- owner,
|
|
|
- repo,
|
|
|
- per_page: 100
|
|
|
- });
|
|
|
-
|
|
|
- // 删除所有旧的 releases(保留当前正在创建的)
|
|
|
- for (const release of releases.data) {
|
|
|
- if (release.tag_name !== currentTag) {
|
|
|
- console.log(`Deleting release: ${release.tag_name}`);
|
|
|
- await github.rest.repos.deleteRelease({
|
|
|
- owner,
|
|
|
- repo,
|
|
|
- release_id: release.id
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 获取所有 tags
|
|
|
- const tags = await github.rest.git.listMatchingRefs({
|
|
|
- owner,
|
|
|
- repo,
|
|
|
- ref: 'tags/'
|
|
|
- });
|
|
|
-
|
|
|
- // 删除所有旧的 tags(保留当前的)
|
|
|
- for (const tag of tags.data) {
|
|
|
- const tagName = tag.ref.replace('refs/tags/', '');
|
|
|
- if (tagName !== currentTag) {
|
|
|
- console.log(`Deleting tag: ${tagName}`);
|
|
|
- await github.rest.git.deleteRef({
|
|
|
- owner,
|
|
|
- repo,
|
|
|
- ref: `tags/${tagName}`
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- console.log('Cleanup completed');
|
|
|
-
|
|
|
- # 第二步:更新版本号并提交
|
|
|
+ # 第一步:更新版本号并提交
|
|
|
update-version:
|
|
|
- needs: cleanup
|
|
|
runs-on: ubuntu-latest
|
|
|
outputs:
|
|
|
version: ${{ steps.version.outputs.VERSION }}
|