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`)。