feat(ci): 新增 build 的 is_beta 輸出並據以決定是否執行 test #11

Merged
admin merged 6 commits from develop into master 2026-07-03 10:06:14 +00:00
Showing only changes of commit 89f120e859 - Show all commits
+7 -6
View File
@@ -7,7 +7,7 @@
# 文字,透過 heredoc 寫入 job output。
# 3. RESULT - 顯示 TEST job 輸出的 message,用於驗證整條流程串接成功。
# 另外,CI 僅在 base 分支為 master 或 develop 的 Pull Request 觸發。
# 更新日期:2026/07/03 17:43:30
# 更新日期:2026/07/03 17:56:45
# =============================================================================
# workflow 名稱,會顯示在 Gitea Actions 的執行清單中。
@@ -38,12 +38,13 @@ jobs:
# 版本號規則:固定 0.0.0-beta. 前綴 + Gitea 的執行流水號 run_number
# 讓每次 CI 產生遞增且唯一的 beta 版本字串。
VERSION: "0.0.0-beta.${{ gitea.run_number }}"
# 定義環境變數 IS_BETA:當 PR 的 base 分支為 develop 時為字串 'true',否則為 'false'
# 作為下方 is_beta 輸出的來源,用來決定 test job 是否執行。
IS_BETA: ${{ gitea.base_ref == 'develop' }}
# 定義此 job 對外輸出,供後續 job(test)取用其判斷結果。
outputs:
# 【需人工確認】將環境變數 IS_BETA 暴露為 job 層級的 is_beta 輸出;但本 job 的
# env 只定義了 VERSION、並未定義 IS_BETA,因此 env.IS_BETA 會取到空字串,
# 配合 test 的 if ... == 'true' 判斷,將導致 test job 永遠被略過。
# 此行內容維持原樣不修改,請人工確認是否應補上 IS_BETA 的設定。
# 將環境變數 IS_BETA 暴露為 job 層級的 is_beta 輸出;當 PR base 分支為 develop 時為 'true'
# 供 test job 以 `if ... == 'true'` 判斷是否執行(即:僅 develop 的 PR 會跑 test)。
is_beta: ${{ env.IS_BETA }}
# 此 job 的執行步驟。
steps:
@@ -62,7 +63,7 @@ jobs:
target_commitish: ${{ gitea.sha }}
# 是否標記為「預發佈」(prerelease):當 PR 目標分支 base_ref 為 develop 時為 true
# 代表流向 develop 的變更視為預發佈版本。
prerelease: ${{ gitea.base_ref == 'develop' }}
prerelease: ${{ env.IS_BETA }}
# ---- Job 2TEST(執行 setup-codex 並產生自我介紹)----
test:
# job 顯示名稱。