From c1877ea013b1f3b2ef21fb78226ce8c42fd8c5cf Mon Sep 17 00:00:00 2001 From: Syngnat Date: Thu, 9 Apr 2026 13:34:41 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(ci):=20=E4=BF=AE=E5=A4=8D=20?= =?UTF-8?q?dev-latest=20=E5=8E=86=E5=8F=B2=20release=20=E6=AE=8B=E7=95=99?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E7=9A=84=E9=87=8D=E5=A4=8D=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 dev release 清理逻辑改为枚举所有历史 release - 删除全部 tag_name=dev-latest 的 draft 与 prerelease 残留 - 避免只删除单个 release 时遗留旧的 Dev Build 页面项 - 保留后续 tag ref 清理与重新发布流程 - 确保 dev 发布前仓库中只保留一个有效的 dev-latest release --- .github/workflows/dev-build.yml | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/.github/workflows/dev-build.yml b/.github/workflows/dev-build.yml index 1fac8a9..b6675b7 100644 --- a/.github/workflows/dev-build.yml +++ b/.github/workflows/dev-build.yml @@ -602,24 +602,23 @@ jobs: const tag = 'dev-latest'; const ref = `tags/${tag}`; const { owner, repo } = context.repo; + const releases = await github.paginate(github.rest.repos.listReleases, { + owner, + repo, + per_page: 100, + }); - try { - const release = await github.rest.repos.getReleaseByTag({ - owner, - repo, - tag, - }); - core.info(`Deleting existing release ${release.data.id} for tag ${tag}`); - await github.rest.repos.deleteRelease({ - owner, - repo, - release_id: release.data.id, - }); - } catch (error) { - if (error.status === 404) { - core.info(`No existing release found for tag ${tag}`); - } else { - throw error; + const matchedReleases = releases.filter((release) => release.tag_name === tag); + if (matchedReleases.length === 0) { + core.info(`No existing releases found for tag ${tag}`); + } else { + for (const release of matchedReleases) { + core.info(`Deleting release ${release.id} (${release.name || 'unnamed'}) for tag ${tag}`); + await github.rest.repos.deleteRelease({ + owner, + repo, + release_id: release.id, + }); } }