mirror of
https://github.com/openclaw/openclaw.git
synced 2026-02-19 18:39:20 -05:00
ci(test): raise node heap for CI vitest
This commit is contained in:
@@ -165,6 +165,20 @@ const WARNING_SUPPRESSION_FLAGS = [
|
||||
"--disable-warning=MaxListenersExceededWarning",
|
||||
];
|
||||
|
||||
const DEFAULT_CI_MAX_OLD_SPACE_SIZE_MB = 4096;
|
||||
const maxOldSpaceSizeMb = (() => {
|
||||
// CI can hit Node heap limits (especially on large suites). Allow override, default to 4GB.
|
||||
const raw = process.env.OPENCLAW_TEST_MAX_OLD_SPACE_SIZE_MB ?? "";
|
||||
const parsed = Number.parseInt(raw, 10);
|
||||
if (Number.isFinite(parsed) && parsed > 0) {
|
||||
return parsed;
|
||||
}
|
||||
if (isCI && !isWindows) {
|
||||
return DEFAULT_CI_MAX_OLD_SPACE_SIZE_MB;
|
||||
}
|
||||
return null;
|
||||
})();
|
||||
|
||||
function resolveReportDir() {
|
||||
const raw = process.env.OPENCLAW_VITEST_REPORT_DIR?.trim();
|
||||
if (!raw) {
|
||||
@@ -224,11 +238,18 @@ const runOnce = (entry, extraArgs = []) =>
|
||||
(acc, flag) => (acc.includes(flag) ? acc : `${acc} ${flag}`.trim()),
|
||||
nodeOptions,
|
||||
);
|
||||
const heapFlag =
|
||||
maxOldSpaceSizeMb && !nextNodeOptions.includes("--max-old-space-size=")
|
||||
? `--max-old-space-size=${maxOldSpaceSizeMb}`
|
||||
: null;
|
||||
const resolvedNodeOptions = heapFlag
|
||||
? `${nextNodeOptions} ${heapFlag}`.trim()
|
||||
: nextNodeOptions;
|
||||
let child;
|
||||
try {
|
||||
child = spawn(pnpm, args, {
|
||||
stdio: "inherit",
|
||||
env: { ...process.env, VITEST_GROUP: entry.name, NODE_OPTIONS: nextNodeOptions },
|
||||
env: { ...process.env, VITEST_GROUP: entry.name, NODE_OPTIONS: resolvedNodeOptions },
|
||||
shell: isWindows,
|
||||
});
|
||||
} catch (err) {
|
||||
|
||||
Reference in New Issue
Block a user