fix(release-cleanup): cleanupReleases 防禦 null/異常結構的 release 項目

在刪除迴圈中先檢查項目為非 null 物件,避免對非預期結構解構時拋出未捕捉例外。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jeffery
2026-06-26 13:59:49 +08:00
co-authored by Claude Opus 4.8
parent 1bc6ce6d8c
commit 24bcad7141
+6
View File
@@ -58,6 +58,12 @@ export async function cleanupReleases(client, config) {
const toDelete = selectReleasesToDelete(releases, config.keepCount) const toDelete = selectReleasesToDelete(releases, config.keepCount)
for (const release of toDelete) { for (const release of toDelete) {
// 防禦非預期結構(null/非物件),避免解構時拋出未捕捉例外。
if (release === null || typeof release !== 'object') {
warn('略過格式異常的成品項目')
continue
}
const { id, tag_name: tag, name } = release const { id, tag_name: tag, name } = release
// 要求 id 為正整數(Gitea release id 本即正整數);非整數一律略過,不僅依賴 URL 編碼防護。 // 要求 id 為正整數(Gitea release id 本即正整數);非整數一律略過,不僅依賴 URL 編碼防護。