release: 將 AI 程式碼審查 action 發布到 master #2

Merged
admin merged 32 commits from develop into master 2026-07-03 10:07:51 +00:00
Showing only changes of commit a7824cff29 - Show all commits
+8 -3
View File
@@ -1,4 +1,5 @@
import path from 'path'; import path from 'path';
import { pathToFileURL } from 'url';
import { GITEA_REPOSITORY, PR_NUMBER, PR_HEAD_BRANCH, PR_BASE_BRANCH, getLLMConfig, FINDINGS_PATH, EXCLUSIONS_PATH } from './config.js'; import { GITEA_REPOSITORY, PR_NUMBER, PR_HEAD_BRANCH, PR_BASE_BRANCH, getLLMConfig, FINDINGS_PATH, EXCLUSIONS_PATH } from './config.js';
import { loadRoles, getRoleIntro } from './roles.js'; import { loadRoles, getRoleIntro } from './roles.js';
import { getPRDiff, postComment, getCommitMessageBySha, getBotReviewOutcome, shouldSkipBotCommit } from './gitea.js'; import { getPRDiff, postComment, getCommitMessageBySha, getBotReviewOutcome, shouldSkipBotCommit } from './gitea.js';
@@ -52,7 +53,7 @@ const WORKSPACE = process.env.GITHUB_WORKSPACE || '/workspace';
* 降級處理:Step4 對話收斂、Step5 角色介紹 comment 與個別角色分析、Step6 clone repo、 * 降級處理:Step4 對話收斂、Step5 角色介紹 comment 與個別角色分析、Step6 clone repo、
* Step8 Review 發布等非致命步驟失敗時,僅 `warn` 後繼續執行。 * Step8 Review 發布等非致命步驟失敗時,僅 `warn` 後繼續執行。
*/ */
async function main() { export async function main() {
section('AI Code Review Pipeline'); section('AI Code Review Pipeline');
// Step1 啟動 // Step1 啟動
@@ -236,7 +237,11 @@ async function main() {
section('Pipeline 結束'); section('Pipeline 結束');
} }
main().catch(e => { // 僅在作為 CLI 進入點(node src/main.js)執行時自動啟動 pipeline
// 被 import(例如單元測試)時不自動執行,方便注入 mock 測試各分支。
if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) {
main().catch(e => {
error(`Runner failed: ${e.message}`); error(`Runner failed: ${e.message}`);
process.exit(1); process.exit(1);
}); });
}