- .gitea/workflows/ci.yaml、cd.yaml:新增用途/更新日期區塊與逐行註解(指令邏輯不變) - app/index.js:日誌統一為 [等級][台灣時間]: 訊息(新增 timestamp helper,INF/WRN/ERR;行為、控制流、exit code、stdout/stderr 皆等價) - README.md:重建專案列表三表/功能列表/使用範例,新增日誌格式說明與 timestamp 功能 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
49 lines
2.2 KiB
YAML
49 lines
2.2 KiB
YAML
# ===================================================================
|
||
# 用途:Gitea CI workflow,於 Pull Request 開啟或更新時觸發 AI 程式碼審查。
|
||
# 透過公司 Gitea 上的 composite action `opencode-code-review`,
|
||
# 對 PR 變更內容執行自動化 AI code review,並把審查結果以留言回貼到 PR。
|
||
# 更新日期(台灣時區 Asia/Taipei):2026/06/30 16:44:09
|
||
# ===================================================================
|
||
|
||
# workflow 名稱,顯示於 Gitea Actions 介面
|
||
name: CI
|
||
# 觸發事件設定
|
||
on:
|
||
# 針對 Pull Request 事件觸發
|
||
pull_request:
|
||
# 目標分支過濾:忽略以下分支(即 master 不觸發本 workflow)
|
||
branches-ignore:
|
||
# 排除 master 分支,避免對正式主線的 PR 執行 AI 審查
|
||
- master
|
||
# 僅在 PR 被「開啟(opened)」或「推送新 commit 同步(synchronize)」時觸發
|
||
types: [opened, synchronize]
|
||
# 定義所有 jobs
|
||
jobs:
|
||
# job 識別碼:AI 程式碼審查
|
||
ai-code-review:
|
||
# job 顯示名稱
|
||
name: AI Code Review
|
||
# 指定執行環境(runner 標籤),使用 ubuntu runner
|
||
runs-on: ubuntu
|
||
# 此 job 對 GITHUB_TOKEN 所需的權限範圍
|
||
permissions:
|
||
# 允許寫入 repository 內容(供 action 讀取/操作程式碼)
|
||
contents: write
|
||
# 允許寫入 Pull Request(供 action 回貼審查留言)
|
||
pull-requests: write
|
||
# 允許寫入 issues(PR 留言底層走 issue comment API,需此權限)
|
||
issues: write
|
||
# 此 job 的執行步驟
|
||
steps:
|
||
# 步驟名稱:使用 OpenCode 進行 AI 程式碼審查
|
||
- name: AI 程式碼審查 by OpenCode
|
||
# 引用公司 Gitea 上的 composite action `opencode-code-review`,
|
||
# 版本由 repository/organization 變數 ACTION_OPENCODE_CODE_REVIEW_VERSION 指定,
|
||
# 便於集中控管所使用的 action 版本
|
||
uses: https://gitea.jsc.idv.tw/composite-actions/opencode-code-review@${{ vars.ACTION_OPENCODE_CODE_REVIEW_VERSION }}
|
||
# 傳遞給 composite action 的輸入參數
|
||
with:
|
||
# 留言用 token,從 secrets.COMMENT_TOKEN 取得,
|
||
# 供 action 以該身分將審查結果回貼到 PR 留言
|
||
comment_token: ${{ secrets.COMMENT_TOKEN }}
|