Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c2f41b16eb | ||
|
|
5c2c37f9d1 | ||
|
|
5fbfec3aaf |
+3
-4
@@ -1,5 +1,4 @@
|
||||
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 { loadRoles, getRoleIntro } from './roles.js';
|
||||
import { getPRDiff, postComment, getCommitMessageBySha, getBotReviewOutcome, shouldSkipBotCommit } from './gitea.js';
|
||||
@@ -237,9 +236,9 @@ export async function main() {
|
||||
section('Pipeline 結束');
|
||||
}
|
||||
|
||||
// 僅在作為 CLI 進入點(node src/main.js)執行時自動啟動 pipeline;
|
||||
// 被 import(例如單元測試)時不自動執行,方便注入 mock 測試各分支。
|
||||
if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) {
|
||||
// 預設一律自動啟動 pipeline(正式以 node 執行、或由 Gitea node action runtime 載入時皆會執行)。
|
||||
// 僅單元測試會設 AI_REVIEW_SKIP_MAIN=1 略過自動執行,改為手動呼叫 export 的 main() 注入 mock 測試。
|
||||
if (!process.env.AI_REVIEW_SKIP_MAIN) {
|
||||
main().catch(e => {
|
||||
error(`Runner failed: ${e.message}`);
|
||||
process.exit(1);
|
||||
|
||||
@@ -5,6 +5,9 @@ import assert from 'node:assert/strict';
|
||||
// 把所有相依模組換成可控 stub,逐一驗證關鍵分支的 exit code 與退出時機。
|
||||
// 需要 `--experimental-test-module-mocks`(見 package.json test script)。
|
||||
|
||||
// 略過 main.js 被 import 時的自動執行;本測試改為手動呼叫 export 的 main()。
|
||||
process.env.AI_REVIEW_SKIP_MAIN = '1';
|
||||
|
||||
const U = (rel) => new URL(rel, import.meta.url).href;
|
||||
|
||||
// 每個相依模組的預設 stub(快樂路徑:無 critical、diff 非空、角色分析成功)。
|
||||
|
||||
Reference in New Issue
Block a user