Archived
Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
be01444f71 | ||
|
|
89f120e859 |
@@ -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 顯示名稱。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# setup-codex
|
||||
|
||||
> 更新時間:2026/07/03 17:43:30
|
||||
> 更新時間:2026/07/03 17:56:45
|
||||
|
||||
`setup-codex` 是一個 **Gitea composite action**,用於在 Gitea Actions runner 上安裝並登入 [Codex CLI](https://chatgpt.com/codex),讓後續 workflow 步驟能直接呼叫已完成 OAuth 登入的 `codex` 指令。本 repo 由 action 定義(`action.yml`)與示範用的 CI/CD workflow 組成,內容皆為 YAML 與少量 shell/Node,**不含可列入 README 的公開程式方法**。
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
| 專案名稱 | 專案描述 |
|
||||
| --- | --- |
|
||||
| [setup-codex](https://gitea.jsc.idv.tw/actions/setup-codex/src/branch/develop) | Gitea composite action:安裝 Codex CLI、以 base64 編碼的 OAuth 驗證檔完成登入,並顯示目前登入帳號;另附 CI(僅在 base 為 master/develop 的 PR 觸發,發佈 Release、依 is_beta 條件執行 codex 測試)與 CD(push master 反查 commit tag)示範 workflow。 |
|
||||
| [setup-codex](https://gitea.jsc.idv.tw/actions/setup-codex/src/branch/develop) | Gitea composite action:安裝 Codex CLI、以 base64 編碼的 OAuth 驗證檔完成登入,並顯示目前登入帳號;另附 CI(僅在 base 為 master/develop 的 PR 觸發,發佈 Release、依 is_beta 決定是否執行 codex 測試)與 CD(push master 反查 commit tag)示範 workflow。 |
|
||||
|
||||
### 參考專案
|
||||
|
||||
@@ -69,7 +69,7 @@ jobs:
|
||||
| 檔案 | 觸發時機 | 用途 |
|
||||
| --- | --- | --- |
|
||||
| [action.yml](https://gitea.jsc.idv.tw/actions/setup-codex/src/branch/develop/action.yml) | 被其他 workflow 以 `uses` 引用 | 定義安裝/登入 Codex 的 composite action。 |
|
||||
| [.gitea/workflows/ci.yaml](https://gitea.jsc.idv.tw/actions/setup-codex/src/branch/develop/.gitea/workflows/ci.yaml) | base 為 `master`/`develop` 的 Pull Request(`opened`/`synchronize`) | 發佈 beta Release、輸出 `is_beta`,並在 `is_beta == 'true'` 時執行本 action 以 `codex exec` 產生自我介紹、顯示結果。 |
|
||||
| [.gitea/workflows/ci.yaml](https://gitea.jsc.idv.tw/actions/setup-codex/src/branch/develop/.gitea/workflows/ci.yaml) | base 為 `master`/`develop` 的 Pull Request(`opened`/`synchronize`) | 發佈 beta Release;`build` 依 `base_ref == 'develop'` 設定 `IS_BETA` 並輸出 `is_beta`,當 `is_beta == 'true'`(即 develop 的 PR)時執行本 action 以 `codex exec` 產生自我介紹、顯示結果。 |
|
||||
| [.gitea/workflows/master.yaml](https://gitea.jsc.idv.tw/actions/setup-codex/src/branch/develop/.gitea/workflows/master.yaml) | push 至 `master` | 反查指定 commit 所屬的 git tag 並顯示。 |
|
||||
|
||||
> ⚠️ 注意:`ci.yaml` 的 `build` job 目前輸出的 `is_beta` 取自 `env.IS_BETA`,但該 env 未定義,實務上 `is_beta` 會是空字串、導致 `test` job 被略過;`action.yml` 的 `outputs.message` 參照的 `steps.exchange` 步驟亦不存在。以上為既有、待人工確認事項。
|
||||
> ⚠️ 注意(既有、待人工確認):`action.yml` 的 `outputs.message` 參照的 `steps.exchange` 步驟不存在,該 output 可能取不到值。
|
||||
|
||||
Reference in New Issue
Block a user