develop
master
將原本的 Gitea Docker 範本 action 改造為「Clean Old Release」:依建立時間將 release 分為正式版與 beta 版(tag 名稱含 beta),各自保留最新指定筆數,其餘舊 release 連同對應 git tag 一併刪除。本 PR 將 develop 上已驗證的變更併入 master。
beta
action.yml
keep_count
keep_count_beta
image
dockerfile
src/index.js
src/logger.js
[yyyy/MM/dd HH:mm:ss][階段][等級]: 訊息
NODE_VERSION=latest
NODE_RUNTIME=slim
entrypoint.sh
exec
readme.md
.gitea/scoped_workflows/ci.yaml
GITHUB_REPOSITORY
GITHUB_API_URL
GITHUB_SERVER_URL
GITHUB_TOKEN
GITEA_TOKEN
docker build
- 依建立時間將 release 分為正式版與 beta 版(tag 含 beta),各自保留最新指定筆數(keep_count 預設 5、keep_count_beta 預設 10),其餘舊 release 連同對應 git tag 一併刪除 - Node.js 主程式置於 src/(index.js 主流程、logger.js 統一訊息格式 [yyyy/MM/dd HH:mm:ss][階段][等級]: 訊息) - 多階段建置 dockerfile(NODE_VERSION=latest / NODE_RUNTIME=slim),entrypoint.sh 輸出啟動訊息後 exec 主程式 - 補齊全部 JSDoc 與指令檔逐行註解,重建 readme.md - 移除範本的 .gitea/scoped_workflows/ci.yaml Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Reviewed-on: #1
No dependencies set.
The note is not visible to the blocked user.
變更摘要
將原本的 Gitea Docker 範本 action 改造為「Clean Old Release」:依建立時間將 release 分為正式版與 beta 版(tag 名稱含
beta),各自保留最新指定筆數,其餘舊 release 連同對應 git tag 一併刪除。本 PR 將 develop 上已驗證的變更併入 master。影響範圍
action.yml:名稱改為 Clean Old Release,新增keep_count(預設 5)與keep_count_beta(預設 10)兩個 inputs,image引用改為小寫dockerfile。src/index.js:以 Node.js 實作主流程——讀取輸入 → 逐頁查詢 release → 依 tag 是否含 beta 分群 → 依建立時間挑出待刪 → 逐筆刪除 release 與對應 tag → 總結。單筆刪除失敗會繼續處理其餘,最後以非零 exit code 結束;tag 為 404 視為已刪除。src/logger.js(新增):共用 logger,統一訊息格式[yyyy/MM/dd HH:mm:ss][階段][等級]: 訊息(Asia/Taipei 時區,等級 INF/WRN/ERR/TRC/DBG)。dockerfile:改為多階段建置(NODE_VERSION=latest/NODE_RUNTIME=slim)以縮小映像,並補上逐行註解。entrypoint.sh:輸出啟動訊息(名稱/用途/更新時間)後exec啟動 node 主程式;保留可執行權限。readme.md:重建為專案列表、Action 使用方式、功能列表與使用範例。.gitea/scoped_workflows/ci.yaml:移除範本殘留的 CI workflow。風險與注意事項
GITHUB_REPOSITORY、GITHUB_API_URL(或GITHUB_SERVER_URL)與GITHUB_TOKEN/GITEA_TOKEN(須具刪除 release/tag 權限)。docker build於本機實際建置一次確認映像可用(先前因 Docker daemon 未啟動尚未驗證)。