42 lines
2.4 KiB
Markdown
42 lines
2.4 KiB
Markdown
# Workflow 文件草稿
|
||
|
||
更新時間:2026/07/17 18:49:58
|
||
|
||
## Workflow 總覽
|
||
|
||
| 名稱 | 檔案位置 | 用途 | 觸發條件 |
|
||
| --- | --- | --- | --- |
|
||
| CI | `.gitea/workflows/ci.yaml` | 在 PR 事件中分別以 Antigravity、Codex、Claude 工具環境執行本存取庫的 AI Code Review action,驗證 action 可在不同 AI 工具環境下運作。 | `pull_request` 目標分支為 `develop`,事件類型為 `opened` 或 `synchronize`。 |
|
||
|
||
## CI
|
||
|
||
- Workflow 名稱:`CI`
|
||
- 檔案位置:`.gitea/workflows/ci.yaml`
|
||
- 用途:針對送往 `develop` 的 pull request 執行三組測試 job,分別安裝 Antigravity、Codex、Claude 環境後呼叫 `uses: ./` 執行目前 action。
|
||
- 觸發條件:`pull_request.branches` 為 `develop`;`pull_request.types` 為 `opened`、`synchronize`。
|
||
|
||
## Job
|
||
|
||
| Job ID | 顯示名稱 | Runner | 主要流程 |
|
||
| --- | --- | --- | --- |
|
||
| `test-antigravity` | `TEST (Antigravity)` | `ubuntu` | checkout 存取庫、安裝 Antigravity、執行本地 action。 |
|
||
| `test-codex` | `TEST (Codex)` | `ubuntu` | checkout 存取庫、安裝 Codex、執行本地 action。 |
|
||
| `test-claude` | `TEST (Claude)` | `ubuntu` | checkout 存取庫、安裝 Claude、執行本地 action。 |
|
||
|
||
## 主要輸入 / 環境參數
|
||
|
||
| 名稱 | 來源 | 使用位置 | 說明 |
|
||
| --- | --- | --- | --- |
|
||
| `vars.ACTION_CHECKOUT_VERSION` | Gitea / GitHub repository 或 organization vars | `actions/checkout@...` | 指定 checkout action 版本。 |
|
||
| `vars.ACTION_SETUP_ANTIGRAVITY_VERSION` | Gitea / GitHub vars | `setup-antigravity@...` | 指定 Antigravity 安裝 action 版本。 |
|
||
| `vars.ACTION_SETUP_CODEX_VERSION` | Gitea / GitHub vars | `setup-codex@...` | 指定 Codex 安裝 action 版本。 |
|
||
| `vars.ACTION_SETUP_CLAUDE_VERSION` | Gitea / GitHub vars | `setup-claude@...` | 指定 Claude 安裝 action 版本。 |
|
||
| `secrets.GITHUB_TOKEN` | Gitea / GitHub secrets | 本地 action input `token` | 提供 action 呼叫 Gitea API 留言與寫回 findings 所需 token。 |
|
||
|
||
## 注意事項
|
||
|
||
- `.gitea/workflows/readme.md` 目前不存在;本檔為新增 workflow README 的草稿。
|
||
- `runs-on: ubuntu` 是否符合實際 Gitea runner 標籤需人工確認。
|
||
- `vars.*` 與 `secrets.GITHUB_TOKEN` 必須由呼叫端環境提供,否則 checkout、工具安裝或程式碼審查步驟可能失敗。
|
||
- 三個 job 均以 `uses: ./` 呼叫目前存取庫根目錄的 `action.yml`;因此 `action.yml` 的 `runs.main` 需保持可被 runner 直接執行。
|