CLEANUP OLD NUGET

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

功能

  • 依序嘗試取得 Gitea API token。
  • 預設每個套件保留最新 2 個版本。
  • 預設為 dry_run=true,只列出候選,不會真的刪除。
  • 輸出可搜尋的 log,包含 API status、request id 與 summary。

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_versions integer string 2 每個套件要保留的最新版本數,必須是整數且 >= 0
dry_run boolean string true true 只列出候選,false 才會呼叫 DELETE API

Log 行為

執行時會輸出這類資訊:

  • Trying token from ...
  • Using token from ...
  • keep_versions=...
  • dry_run=...
  • GET /api/v1/... -> 200 OK
  • Candidate to delete: ...
  • [DRY-RUN] Would delete ...
  • Deleted package ... -> 204 No Content
  • Summary: packages=... versions=... kept=... candidates=... deleted=... skipped=... errors=...

Workflow 範例

Dry-run

jobs:
  cleanup:
    runs-on: ubuntu-latest
    steps:
      - uses: ./
        with:
          runner_token: ${{ secrets.GITEA_TOKEN }}
          keep_versions: 2
          dry_run: true

實際刪除

jobs:
  cleanup:
    runs-on: ubuntu-latest
    steps:
      - uses: ./
        with:
          runner_token: ${{ secrets.GITEA_TOKEN }}
          keep_versions: 2
          dry_run: false

測試

相關檔案

S
Description
master Latest
2026-05-16 01:40:37 +08:00
Languages
Shell 99.4%
Dockerfile 0.6%