refactor: 統一日誌格式為 [階段][等級][時間] 並補齊指令檔文件與 README
docker-actions/template: CI / BUILD (pull_request) Successful in 4s

- logger.js format() 組字順序改為階段在前、等級居中、時間在後(Asia/Taipei)
- entrypoint.sh 啟動訊息改用新格式並更新標頭時間
- action.yml 新增用途/更新時間標頭與逐行繁中註解,設定值不變
- dockerfile 檔名維持小寫並與 action.yml 的 image 引用一致
- 新增 src/logger.js、src/version.js 模組與完整 JSDoc;重建 README.md

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Jeffery
2026-07-16 09:30:44 +08:00
co-authored by Claude Fable 5
parent a44092c7a2
commit 1773c646d5
8 changed files with 779 additions and 402 deletions
+47 -7
View File
@@ -1,14 +1,54 @@
name: 'Gitea Docker Template'
description: 'Gitea Docker 範本'
# ============================================================================
# 用途:Gitea/GitHub Docker container action「Calculate Next Version」的
# metadata 定義檔。宣告此 action 的名稱、輸入(is_beta)、輸出(value
# 與執行方式(runner 於執行時就地以 Dockerfile 建置映像並以 entrypoint.sh 啟動)。
# 由 workflow 以 `uses:` 引用本 repo 時,runner 讀取此檔決定如何執行。
# 更新時間:2026/07/16 09:17:01
# ============================================================================
# action 的顯示名稱:出現在 workflow log 與 marketplace/action 清單中,
# 供使用者辨識此步驟在做什麼
name: 'Calculate Next Version'
# action 的一句話用途說明:從 git tag 取得最新版號,依 is_beta 分流計算
# 下一個正式版(X.Y.Z)或 beta 版(X.Y.Z-beta.N)版號,各號碼滿 9 進位,
# 結果輸出為 value;與 entrypoint.sh 啟動訊息、README 的描述一致
description: '從 git tag 取得最新版號,依 is_beta 計算下一個正式版或 beta 版號(各號碼滿 9 進位)並輸出為 value。'
# action 作者,僅供標示用途,不影響執行
author: 'Jeffery'
# 輸入參數區:workflow 以 `with:` 傳入的值,
# runner 會轉成 INPUT_<大寫參數名> 環境變數注入容器
inputs:
message:
description: '輸入訊息'
# is_beta:是否產生 beta 版號;runner 會以 INPUT_IS_BETA 環境變數
# 傳入容器,由主程式 src/index.js 讀取後決定版號計算分流
is_beta:
# 參數說明:true 時產生 X.Y.Z-beta.N 格式的 beta 版號,
# false(預設)時產生下一個正式版 X.Y.Z
description: '是否為 beta 版(true 時產生 X.Y.Z-beta.N 版號)'
# 非必填:未提供時使用下方 default 值
required: false
default: 'Hello, World!'
# 預設為 'false'(正式版分流);YAML 需以字串表示,
# action 輸入一律為字串,布林判斷由主程式自行解析
default: 'false'
# 輸出參數區:供 workflow 後續步驟以 steps.<id>.outputs.value 取用
outputs:
message:
description: '輸出訊息'
# value:計算出的下一版號;由主程式(src/index.js)將
# 「value=<版號>」寫入 GITHUB_OUTPUT 檔案而產生,
# container action 不需在此宣告 value 的來源(無 composite 的 value: 欄位)
value:
description: '計算出的下一版號'
# 執行方式定義區:宣告此 action 為 Docker container action 及其啟動方式
runs:
# 使用 docker 執行模式:runner 會以容器方式執行此 action
using: docker
# image 指向 repo 內的 Dockerfile:表示 runner 於「執行時」就地建置映像
# (非預建映像),每次執行都可能觸發 docker build(有 layer 快取時較快)
image: dockerfile
# 覆寫容器進入點為 /action/entrypoint.sh
# 該腳本輸出啟動訊息後以 exec 交棒給 node 主程式 /action/src/index.js
# 與 Dockerfile 的 ENTRYPOINT ["/action/entrypoint.sh"] 一致(此處為明確重申)
entrypoint: /action/entrypoint.sh