Files
release-cleanup/app/index.js
T
JefferyandClaude Opus 4.8 4bcc6a5014
CI / AI Code Review (pull_request) Failing after 40s
docs(release-cleanup): 補上 index.js JSDoc 與 ci/cd workflow 註解
為進入點主流程 main() 補上 JSDoc;為 ci.yaml/cd.yaml 加上用途說明與逐行註解。
皆為註解變更,不影響任何執行邏輯。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 10:36:25 +08:00

31 lines
1.0 KiB
JavaScript

// 進入點:載入設定、建立 Gitea 客戶端,依序清理舊成品與孤立 tag。
import { loadConfig } from './config.js'
import { GiteaClient } from './gitea-client.js'
import { cleanupReleases } from './releases.js'
import { cleanupOrphanTags } from './tags.js'
import { separator, fail } from './logger.js'
/**
* Action 主流程:讀取並驗證環境設定、建立帶認證的 Gitea 客戶端,
* 先清理超出保留數量的舊 release,再清理未被任何 release 指定的孤立 tag,最後輸出結尾分隔線。
*
* 任一步驟拋出的例外不在此攔截,改由模組層級的 `main().catch(...)` 統一處理並以非零狀態結束。
*
* @returns {Promise<void>} 流程完成時 resolve;設定驗證或讀取 API 失敗時 reject。
*/
async function main() {
const config = loadConfig()
const client = new GiteaClient({ token: config.token })
await cleanupReleases(client, config)
await cleanupOrphanTags(client, config)
separator()
}
main().catch((error) => {
fail(error.message)
process.exit(1)
})