Files
release-tag-version/.gitea/workflows/cd.yaml
T
2026-06-26 10:51:52 +08:00

53 lines
2.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# =============================================================================
# 檔案用途:Gitea CDContinuous Deliveryworkflow 設定檔
#
# 本檔定義一條名為 CD 的 Gitea Actions workflow,負責在程式碼推送到
# master 分支時,自動執行「釋出並標註成品版本」的流程。實際的版本標註
# 邏輯由本 repo 根目錄的 composite actionaction.yml)提供,此 workflow
# 僅負責觸發與串接該 composite action。
#
# 更新日期:2026/06/26 10:14:14Asia/Taipei
# =============================================================================
# workflow 的顯示名稱,會出現在 Gitea Actions 的執行列表中。
name: CD
# on:定義觸發本 workflow 的事件。
on:
# push:當有 commit 被推送到 repository 時觸發。
push:
# branches:限制只有特定分支的 push 才會觸發。
branches:
# 僅限 master 分支;推送到其他分支不會啟動本 CD workflow。
# 這確保版本釋出只在正式主線(master)發生,避免在開發分支誤觸發發版。
- master
# jobs:本 workflow 包含的工作(job)集合。
jobs:
# release-tag-version:唯一的 job,負責釋出並標註成品版本。
release-tag-version:
# job 的顯示名稱,會出現在 Gitea Actions 的執行畫面上。
name: Release Tag Version
# runs-on:指定執行此 job 的 runner 標籤(label)。
# 此處使用 ubuntu,代表會在標記為 ubuntu 的 Gitea runner 上執行。
# 需人工確認:通常 GitHub Actions 慣例為 ubuntu-latest;此處為 ubuntu
# 請確認 Gitea runner 確實有註冊 "ubuntu" 這個 label,否則 job 不會被排程。
runs-on: ubuntu
# steps:此 job 依序執行的步驟清單。
steps:
# 步驟一:取得(checkout)程式碼,讓後續步驟能存取 repo 內容。
- name: 取得程式碼
# uses:引用官方 actions/checkout action 來簽出原始碼。
# 版本號透過 Gitea 變數 vars.ACTION_CHECKOUT_VERSION 動態帶入,
# 便於集中管理 checkout 版本,不必逐檔硬編碼版本字串。
# 副作用:未取得程式碼前,下一步的本地 composite action./)將無法被解析。
# 需人工確認:請確認 repository / organization 層級已設定
# ACTION_CHECKOUT_VERSION 這個變數,否則 uses 會解析成空版本而失敗。
uses: actions/checkout@${{ vars.ACTION_CHECKOUT_VERSION }}
# 步驟二:釋出並標註成品版本,為本 workflow 的核心動作。
- name: 釋出並標註成品版本
# uses: ./ 代表引用「本 repo 根目錄」的 composite action(即 action.yml)。
# 必須先完成步驟一的 checkout,根目錄的 action.yml 才存在於 runner 上而可被引用。
# 此 composite action 內含實際的版本標註與發版邏輯(請見根目錄 action.yml)。
uses: ./