feat(ai-code-review): 建問題模式導向 issue,並整併流程調整、文件與 CI #5

Closed
jiantw83 wants to merge 8 commits from ai-review-resolve/develop-20260717-185330 into master
Member

變更摘要

本 PR 將 ai-code-review action 分支的完整成果併入 master,主要含四塊:

  1. 建問題模式重構(feat)create-issue: 'true' 時,審查留言(工具/diff/角色/嚴重問題/警告+建議)全部改發到追蹤 issue、不再張貼到 PR;不執行「舊留言標過時/resolve」;issue 延後到「確定有保留問題」才建立(乾淨 PR 只在 PR 留一則審查通過提示);最後在 PR 回貼 issue 連結並補掛標籤,形成雙向關聯。
  2. 審查流程步驟調整(refactor):將「標記舊留言過時/resolve」提前到偵測 AI 工具之前,並依新順序重編所有步驟編號與說明。
  3. 修正(gitrepo):補抓淺層 checkout 的 base 歷史,避免 merge-base 計算失敗。
  4. 文件與 CI:補齊 action.ymlsrc 各模組文件、重建 readme.md,新增 .gitea/workflows/ci.yaml(多工具 code review 驗證)並啟用建問題模式。

影響範圍

範圍 說明
action 執行流程 src/index.js main() 依模式分流:留言去向、跳過 resolveOldComments、issue 延後建立、severe/others 導向 issue、PR 回貼連結
Gitea API src/lib/gitea.js 新增 addLabelsToIssue
留言模板 src/lib/templates.js 新增 issueLinkCommentnoFindingsComment
審查核心 src/lib/review.js 新增 postSevereToIssue,移除 createIssueWithFindingssortFindingsForIssue
git base 解析 src/lib/gitrepo.js 補抓淺層 checkout 的 base 歷史
文件與 CI readme.mdaction.yml.gitea/workflows/ci.yaml.gitea/workflows/readme.md

重點檔案

  • src/index.js:建問題模式分流與 issue 生命週期(暫存情境留言→有保留問題才建 issue→回貼 PR)。
  • src/lib/{gitea,templates,review}.js:建問題模式所需的 API、留言模板與流程函式。
  • src/lib/gitrepo.js:淺層 checkout base 歷史修正。
  • .gitea/workflows/ci.yaml:多工具 CI 驗證並啟用建問題模式。

風險與注意事項

  • 建問題模式行為明顯改變:啟用後 PR 上不再有審查留言(改為 issue + 一則連結留言),請確認團隊流程可接受。
  • 端對端行為需靠 CI 實測:本地僅完成語法與模組載入驗證,實際 issue/PR 互動需一次 CI 觸發確認。
  • readme.md 尚未反映「建問題模式導向 issue」的最新行為與新/移除的函式,建議後續以 doc-funcs 重建文件。
  • 各檔頭部「更新時間」時間戳仍為 2026/07/17 18:49:58,未隨本次調整刷新。
## 變更摘要 本 PR 將 ai-code-review action 分支的完整成果併入 `master`,主要含四塊: 1. **建問題模式重構(feat)**:`create-issue: 'true'` 時,審查留言(工具/diff/角色/嚴重問題/警告+建議)全部改發到追蹤 issue、不再張貼到 PR;不執行「舊留言標過時/resolve」;issue 延後到「確定有保留問題」才建立(乾淨 PR 只在 PR 留一則審查通過提示);最後在 PR 回貼 issue 連結並補掛標籤,形成雙向關聯。 2. **審查流程步驟調整(refactor)**:將「標記舊留言過時/resolve」提前到偵測 AI 工具之前,並依新順序重編所有步驟編號與說明。 3. **修正(gitrepo)**:補抓淺層 checkout 的 base 歷史,避免 merge-base 計算失敗。 4. **文件與 CI**:補齊 `action.yml`/`src` 各模組文件、重建 `readme.md`,新增 `.gitea/workflows/ci.yaml`(多工具 code review 驗證)並啟用建問題模式。 ## 影響範圍 | 範圍 | 說明 | | --- | --- | | action 執行流程 | `src/index.js` `main()` 依模式分流:留言去向、跳過 resolveOldComments、issue 延後建立、severe/others 導向 issue、PR 回貼連結 | | Gitea API | `src/lib/gitea.js` 新增 `addLabelsToIssue` | | 留言模板 | `src/lib/templates.js` 新增 `issueLinkComment`、`noFindingsComment` | | 審查核心 | `src/lib/review.js` 新增 `postSevereToIssue`,移除 `createIssueWithFindings`、`sortFindingsForIssue` | | git base 解析 | `src/lib/gitrepo.js` 補抓淺層 checkout 的 base 歷史 | | 文件與 CI | `readme.md`、`action.yml`、`.gitea/workflows/ci.yaml`、`.gitea/workflows/readme.md` | ## 重點檔案 - `src/index.js`:建問題模式分流與 issue 生命週期(暫存情境留言→有保留問題才建 issue→回貼 PR)。 - `src/lib/{gitea,templates,review}.js`:建問題模式所需的 API、留言模板與流程函式。 - `src/lib/gitrepo.js`:淺層 checkout base 歷史修正。 - `.gitea/workflows/ci.yaml`:多工具 CI 驗證並啟用建問題模式。 ## 風險與注意事項 - **建問題模式行為明顯改變**:啟用後 PR 上不再有審查留言(改為 issue + 一則連結留言),請確認團隊流程可接受。 - **端對端行為需靠 CI 實測**:本地僅完成語法與模組載入驗證,實際 issue/PR 互動需一次 CI 觸發確認。 - `readme.md` 尚未反映「建問題模式導向 issue」的最新行為與新/移除的函式,建議後續以 doc-funcs 重建文件。 - 各檔頭部「更新時間」時間戳仍為 `2026/07/17 18:49:58`,未隨本次調整刷新。
jiantw83 added 8 commits 2026-07-20 03:26:10 +00:00
docs(doc-funcs): 補齊 action 與 workflow 文件
node-actions/template: CI / BUILD (pull_request) Successful in 5s
CI / TEST (Codex) (pull_request) Failing after 28s
CI / TEST (Claude) (pull_request) Failing after 27s
CI / TEST (Antigravity) (pull_request) Failing after 34s
3fe643c003
fix(gitrepo): 補抓淺層 checkout 的 base 歷史
node-actions/template: CI / BUILD (pull_request) Successful in 4s
CI / TEST (Codex) (pull_request) Successful in 31s
CI / TEST (Claude) (pull_request) Successful in 30s
CI / TEST (Antigravity) (pull_request) Failing after 33s
c4c23d4531
docs(審查步驟編號): 依新順序重編步驟編號與說明
node-actions/template: CI / BUILD (pull_request) Successful in 5s
CI / TEST (Claude) (pull_request) Successful in 27s
CI / TEST (Codex) (pull_request) Successful in 31s
CI / TEST (Antigravity) (pull_request) Failing after 36s
8662e8ca80
chore(ci): 啟用建問題模式
CI / TEST (Codex) (pull_request) Successful in 28s
CI / TEST (Claude) (pull_request) Successful in 28s
CI / TEST (Antigravity) (pull_request) Failing after 33s
node-actions/template: CI / BUILD (pull_request) Successful in 3s
3631bf3592
admin closed this pull request 2026-07-20 03:41:31 +00:00

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: node-actions/ai-code-review#5