From ea75d1adcdd48dac41bd9fdb516c30fed48336b0 Mon Sep 17 00:00:00 2001 From: Jeffery Date: Thu, 16 Jul 2026 11:20:12 +0800 Subject: [PATCH] =?UTF-8?q?docs(README):=20=E8=A3=9C=E5=85=85=20sha=20?= =?UTF-8?q?=E8=BC=B8=E5=85=A5=E8=88=87=E5=B7=B2=E6=A8=99=E8=A8=98=E6=AA=A2?= =?UTF-8?q?=E6=9F=A5=E7=9A=84=E4=BD=BF=E7=94=A8=E6=96=B9=E5=BC=8F=E8=88=87?= =?UTF-8?q?=E8=A6=8F=E5=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a72327b..a140ae5 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ 從 git tag 取得最新版號,依 `is_beta` 計算下一個正式版或 beta 版號(各號碼滿 9 進位)並輸出為 `value` 的 Gitea/GitHub Docker container action。 -- 更新時間:2026/07/16 11:08:39 +- 更新時間:2026/07/16 11:18:57 ## action 使用方式 @@ -18,16 +18,19 @@ jobs: uses: docker-actions/calculate-next-version@master with: is_beta: 'false' + sha: ${{ gitea.sha }} # 該 commit 已有版號 tag 時直接輸出該版號 - run: echo "下一版號:${{ steps.version.outputs.value }}" ``` | 類型 | 名稱 | 必填 | 預設值 | 說明 | | --- | --- | --- | --- | --- | | input | `is_beta` | 否 | `false` | 是否為 beta 版(true 時產生 X.Y.Z-beta.N 版號) | +| input | `sha` | 否 | (空) | 要檢查的 commit SHA(建議傳入 `${{ gitea.sha }}`);該 commit 已有版號 tag 時直接輸出該版號。未提供時自動改用 `GITHUB_SHA` | | output | `value` | — | — | 計算出的下一版號 | 版號規則: +- 已標記檢查:先以 `sha` 輸入(未提供則用 `GITHUB_SHA`)確認該 commit 是否已有符合格式的版號 tag;已有時直接輸出該 tag 內容(多個取最大、忽略 `is_beta`),不再計算下一版。檢查失敗(如 sha 不存在)輸出 WRN 後改走一般計算流程。 - 版號來源為 repo 的 git tag(格式 `X.Y.Z` 或 `X.Y.Z-beta.N`,不帶前綴),取最大版號;無任何版號 tag 時從 `0.0.1`(beta 為 `0.0.1-beta.1`)起算。 - git tag 讀取失敗(例如 workspace 不是 git repository、workflow 未先執行 `actions/checkout`)時不會中止:輸出 ERR 說明原因後,改以起始版號 `0.0.1`(beta 為 `0.0.1-beta.1`)作為預設值繼續輸出。 - `is_beta=false`:最新為正式版 → patch +1(`1.2.3` → `1.2.4`);最新為 beta → 去掉 beta 尾碼轉正式(`1.2.4-beta.3` → `1.2.4`)。