發布 AI review Review 統計與 Step9 合併阻擋調整 #30

Merged
admin merged 20 commits from develop into master 2026-06-22 10:41:37 +00:00
Member

變更摘要

  • 將 AI review 結果改為發布單一 Gitea Review,Review 本文使用「嚴重/警告/建議」三欄統計數量。
  • 將可定位檔案與行數的 findings 依嚴重度排序後加入 Review comments,每個 comment 顯示嚴重等級、審查員、問題原因與建議。
  • 調整 workflow 階段編號與 README 說明,讓 Step2 到 Step9 的流程描述與程式一致。
  • Step9 發現嚴重問題時,優先透過 Gitea API 對 PR head commit 建立 failure status 阻擋合併;API 失敗時才 fallback 到原本的 workflow failure。
  • 補齊 OpenCode TLS、Review 發布、問題原因欄位與 Gitea status helper 的測試。

影響範圍

  • app/comments.js:Review 統計表與行內 comments 格式。
  • app/gitea.js:Gitea Review 與 commit status API helper。
  • app/main.js:Step6 Review 發布、Step9 嚴重問題阻擋流程。
  • app/roles.js / app/findings.js:findings payload 增加問題原因欄位。
  • README.md:同步工作流階段與行為說明。
  • app/*.test.js:新增與更新相關單元測試。
  • .gitea/ai-review/*.json:清空已解決 findings,補上已確認的排除項目。

驗證

  • 已在相關 PR 分支執行 npm test,測試通過。

風險與注意事項

  • Step9 的合併阻擋依賴 Gitea commit status 與專案分支保護設定;若 Gitea API 失敗,仍會使用 workflow failure 作為 fallback。
  • Review comments 只會對可解析出檔案與行數的位置建立行內 comment,無法定位者仍保留在 Review 統計與 findings 檔。
## 變更摘要 - 將 AI review 結果改為發布單一 Gitea Review,Review 本文使用「嚴重/警告/建議」三欄統計數量。 - 將可定位檔案與行數的 findings 依嚴重度排序後加入 Review comments,每個 comment 顯示嚴重等級、審查員、問題原因與建議。 - 調整 workflow 階段編號與 README 說明,讓 Step2 到 Step9 的流程描述與程式一致。 - Step9 發現嚴重問題時,優先透過 Gitea API 對 PR head commit 建立 failure status 阻擋合併;API 失敗時才 fallback 到原本的 workflow failure。 - 補齊 OpenCode TLS、Review 發布、問題原因欄位與 Gitea status helper 的測試。 ## 影響範圍 - `app/comments.js`:Review 統計表與行內 comments 格式。 - `app/gitea.js`:Gitea Review 與 commit status API helper。 - `app/main.js`:Step6 Review 發布、Step9 嚴重問題阻擋流程。 - `app/roles.js` / `app/findings.js`:findings payload 增加問題原因欄位。 - `README.md`:同步工作流階段與行為說明。 - `app/*.test.js`:新增與更新相關單元測試。 - `.gitea/ai-review/*.json`:清空已解決 findings,補上已確認的排除項目。 ## 驗證 - 已在相關 PR 分支執行 `npm test`,測試通過。 ## 風險與注意事項 - Step9 的合併阻擋依賴 Gitea commit status 與專案分支保護設定;若 Gitea API 失敗,仍會使用 workflow failure 作為 fallback。 - Review comments 只會對可解析出檔案與行數的位置建立行內 comment,無法定位者仍保留在 Review 統計與 findings 檔。
jiantw83 added 20 commits 2026-06-22 10:40:04 +00:00
chore(ai-review 狀態): 清空已解決 findings
AI / 計算版本號 (pull_request) Successful in 2s
AI / Code Review (pull_request) Successful in 1m51s
24788a6f4a
chore: update ai-review findings [ai-review-bot][success]
AI / 計算版本號 (pull_request) Successful in 2s
AI / Code Review (pull_request) Successful in 5s
df3234bf19
style(ai-review 統計): 改用三欄兩行表格
AI / 計算版本號 (pull_request) Successful in 2s
AI / Code Review (pull_request) Failing after 1m10s
71c9b40c0b
chore: update ai-review findings [ai-review-bot][failure]
AI / 計算版本號 (pull_request) Successful in 2s
AI / Code Review (pull_request) Failing after 3s
4ef48c9d9a
chore(ai-review 狀態): 排除 OpenCode TLS 測試誤報
AI / 計算版本號 (pull_request) Successful in 2s
AI / Code Review (pull_request) Successful in 1m15s
3ff8338035
docs(README): 順齊 workflow 階段編號
AI / 計算版本號 (pull_request) Successful in 2s
AI / Code Review (pull_request) Successful in 1m16s
1b41bdaaee
chore: update ai-review findings [ai-review-bot][success]
AI / 計算版本號 (pull_request) Successful in 2s
AI / Code Review (pull_request) Successful in 3s
6256576603
test(OpenCode TLS): 補齊非 false 值驗證
AI / 計算版本號 (pull_request) Successful in 2s
AI / Code Review (pull_request) Failing after 1m17s
ca6b066a52
chore: update ai-review findings [ai-review-bot][failure]
AI / 計算版本號 (pull_request) Successful in 2s
AI / Code Review (pull_request) Failing after 3s
bbd7570a5b
chore(ai-review 狀態): 排除 OpenCode TLS 預設誤報
AI / 計算版本號 (pull_request) Successful in 2s
AI / Code Review (pull_request) Successful in 1m24s
75cbfd38b0
Reviewed-on: actions/code-review#28
fix(Step9): 優先用 Gitea 狀態阻擋合併
AI / 計算版本號 (pull_request) Successful in 2s
AI / Code Review (pull_request) Successful in 1m39s
bd89eb573f
Reviewed-on: actions/code-review#29
admin approved these changes 2026-06-22 10:41:35 +00:00
admin merged commit b71146ecb6 into master 2026-06-22 10:41:37 +00:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: old-actions/code-review#30