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>
55 lines
3.0 KiB
YAML
55 lines
3.0 KiB
YAML
# ============================================================================
|
||
# 用途: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:
|
||
# 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
|
||
# 預設為 'false'(正式版分流);YAML 需以字串表示,
|
||
# action 輸入一律為字串,布林判斷由主程式自行解析
|
||
default: 'false'
|
||
|
||
# 輸出參數區:供 workflow 後續步驟以 steps.<id>.outputs.value 取用
|
||
outputs:
|
||
# 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
|