docs: update usage and stage status
This commit is contained in:
@@ -0,0 +1,66 @@
|
|||||||
|
# CLEANUP OLD NUGET
|
||||||
|
|
||||||
|
清理 Gitea NuGet 套件舊版本的 Docker Action。
|
||||||
|
|
||||||
|
## 行為
|
||||||
|
|
||||||
|
- 預設保留每個套件最新 `2` 個版本。
|
||||||
|
- 預設為 `dry_run=true`,只列出候選,不會真的刪除。
|
||||||
|
- Gitea API token 的優先順序如下:
|
||||||
|
- `inputs.runner_token`
|
||||||
|
- `secrets.GITEA_TOKEN`
|
||||||
|
- `secrets.RUNNER_TOKEN`
|
||||||
|
|
||||||
|
## Inputs
|
||||||
|
|
||||||
|
| 名稱 | 預設值 | 說明 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| `runner_token` | - | 優先使用的 Gitea API token |
|
||||||
|
| `keep_versions` | `2` | 每個套件要保留的最新版本數,必須是整數且 `>= 0` |
|
||||||
|
| `dry_run` | `true` | `true` 只顯示刪除候選,`false` 才會呼叫 DELETE API |
|
||||||
|
|
||||||
|
## Logs
|
||||||
|
|
||||||
|
Action 會輸出可搜尋的 log,重點包括:
|
||||||
|
|
||||||
|
- Token 來源
|
||||||
|
- `keep_versions` 與 `dry_run`
|
||||||
|
- 套件版本排序
|
||||||
|
- 候選刪除清單
|
||||||
|
- HTTP status 與 request id
|
||||||
|
- Summary: `packages`、`versions`、`kept`、`candidates`、`deleted`、`skipped`、`errors`
|
||||||
|
|
||||||
|
## 使用範例
|
||||||
|
|
||||||
|
### Dry-run
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
jobs:
|
||||||
|
cleanup:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: ./
|
||||||
|
with:
|
||||||
|
runner_token: ${{ secrets.GITEA_TOKEN }}
|
||||||
|
keep_versions: 2
|
||||||
|
dry_run: true
|
||||||
|
```
|
||||||
|
|
||||||
|
### 實際刪除
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
jobs:
|
||||||
|
cleanup:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: ./
|
||||||
|
with:
|
||||||
|
runner_token: ${{ secrets.GITEA_TOKEN }}
|
||||||
|
keep_versions: 2
|
||||||
|
dry_run: false
|
||||||
|
```
|
||||||
|
|
||||||
|
## 測試
|
||||||
|
|
||||||
|
- Shell 測試腳本: [`tests/entrypoint.sh`](tests/entrypoint.sh)
|
||||||
|
- Gitea workflow: [`.gitea/workflows/ci.yaml`](.gitea/workflows/ci.yaml)
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
# 開發階段狀態
|
||||||
|
|
||||||
|
此檔保留原本的階段劃分,作為驗收參考與變更紀錄。
|
||||||
|
|
||||||
|
## 已完成
|
||||||
|
|
||||||
|
- Stage 1 - Token 取得與優先順序
|
||||||
|
- Stage 2 - 保留舊版套件數量設定
|
||||||
|
- Stage 3 - 列出套件與版本(Gitea API)
|
||||||
|
- Stage 4 - 刪除邏輯與 dry-run 支援
|
||||||
|
- Stage 5 - 日誌、錯誤處理與可觀測性
|
||||||
|
- Stage 6 - 測試與 Gitea workflow CI
|
||||||
|
- Stage 7 - 文件更新與發行準備
|
||||||
|
|
||||||
|
## 驗收重點
|
||||||
|
|
||||||
|
- Token 來源依序嘗試 `inputs.runner_token`、`secrets.GITEA_TOKEN`、`secrets.RUNNER_TOKEN`
|
||||||
|
- `keep_versions` 預設為 `2`,且必須為整數 `>= 0`
|
||||||
|
- 預設為 `dry_run=true`
|
||||||
|
- log 會包含 package 列表、候選清單、HTTP status、request id 與 summary
|
||||||
|
- CI 會執行 `tests/entrypoint.sh`
|
||||||
Reference in New Issue
Block a user