mirror of
https://github.com/farcasclaudiu/openclaw.git
synced 2026-06-22 07:01:44 +03: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",
|
"--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() {
|
function resolveReportDir() {
|
||||||
const raw = process.env.OPENCLAW_VITEST_REPORT_DIR?.trim();
|
const raw = process.env.OPENCLAW_VITEST_REPORT_DIR?.trim();
|
||||||
if (!raw) {
|
if (!raw) {
|
||||||
@@ -224,11 +238,18 @@ const runOnce = (entry, extraArgs = []) =>
|
|||||||
(acc, flag) => (acc.includes(flag) ? acc : `${acc} ${flag}`.trim()),
|
(acc, flag) => (acc.includes(flag) ? acc : `${acc} ${flag}`.trim()),
|
||||||
nodeOptions,
|
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;
|
let child;
|
||||||
try {
|
try {
|
||||||
child = spawn(pnpm, args, {
|
child = spawn(pnpm, args, {
|
||||||
stdio: "inherit",
|
stdio: "inherit",
|
||||||
env: { ...process.env, VITEST_GROUP: entry.name, NODE_OPTIONS: nextNodeOptions },
|
env: { ...process.env, VITEST_GROUP: entry.name, NODE_OPTIONS: resolvedNodeOptions },
|
||||||
shell: isWindows,
|
shell: isWindows,
|
||||||
});
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|||||||
Reference in New Issue
Block a user