CLEANUP OLD NUGET

清理 Gitea NuGet 套件舊版本的 Docker Action。

功能

  • 依序嘗試取得 Gitea API token。
  • 預設每個套件保留最新 2 個版本。
  • 直接刪除超出保留數量的舊版本。
  • 只處理你指定的 NuGet 套件名稱,可一次指定多個。
  • 輸出可搜尋的 log,包含 API status、request id 與 summary。
  • 每頁預設抓取 100 筆版本,可用 PAGE_LIMIT 調整。

Token 來源順序

Action 會依序嘗試以下來源:

  1. inputs.RUNNER_TOKEN
  2. secrets.GITEA_TOKEN
  3. secrets.RUNNER_TOKEN

若三者都沒有值,Action 會以非零 exit code 結束。

Inputs

名稱 類型 預設值 說明
RUNNER_TOKEN string - Gitea API token,優先順序最高
KEEP_COUNT integer string 2 每個套件要保留的最新版本數,必須是整數且 >= 0
PACKAGE_NAMES string - 要清理的 NuGet 套件名稱,逗號分隔,可一次指定多個

Log 行為

執行時會輸出這類資訊:

  • Trying token from ...
  • Using token from ...
  • keep_count=...
  • package_names=...
  • GET /api/v1/... -> 200 OK
  • Candidate to delete: ...
  • Deleted package ... -> 204 No Content
  • Summary: packages=... versions=... kept=... candidates=... deleted=... errors=...

Workflow 範例

jobs:
  cleanup:
    runs-on: ubuntu
    steps:
      - uses: https://gitea.jsc.idv.tw/jiantw83/cleanup-nuget@${{ vars.ACTION_CLEANUP_NUGET_VERSION }}
        with:
          RUNNER_TOKEN: ${{ secrets.GITEA_TOKEN }}
          KEEP_COUNT: 2
          PACKAGE_NAMES: package-a,package-b

相關檔案

測試

直接執行:

bash tests/entrypoint.sh
S
Description
master Latest
2026-05-16 01:40:37 +08:00
Languages
Shell 99.4%
Dockerfile 0.6%