refactor(main): 匯出 main 並守衛 auto-run 以利測試載入
This commit is contained in:
+10
-5
@@ -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;
|
||||||
error(`Runner failed: ${e.message}`);
|
// 被 import(例如單元測試)時不自動執行,方便注入 mock 測試各分支。
|
||||||
process.exit(1);
|
if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) {
|
||||||
});
|
main().catch(e => {
|
||||||
|
error(`Runner failed: ${e.message}`);
|
||||||
|
process.exit(1);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user