diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 0f2d003..91c15a8 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -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 2:TEST(執行 setup-codex 並產生自我介紹)---- test: # job 顯示名稱。