mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-05-12 04:49:40 +08:00
🐛 fix(ci): 修复 dev-latest 历史 release 残留导致的重复发布问题
- 将 dev release 清理逻辑改为枚举所有历史 release - 删除全部 tag_name=dev-latest 的 draft 与 prerelease 残留 - 避免只删除单个 release 时遗留旧的 Dev Build 页面项 - 保留后续 tag ref 清理与重新发布流程 - 确保 dev 发布前仓库中只保留一个有效的 dev-latest release
This commit is contained in:
33
.github/workflows/dev-build.yml
vendored
33
.github/workflows/dev-build.yml
vendored
@@ -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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user