ci: adjust test configuration for stability and resource usage
Reduce CI worker count to mitigate resource contention and increase timeouts to prevent flaky failures. Add Node.js memory limit and crash detection to parallel test runner for better error diagnostics.
This commit is contained in:
parent
422cd4d48d
commit
de6e87074c
@ -37,6 +37,7 @@ const WARNING_SUPPRESSION_FLAGS = [
|
||||
"--disable-warning=ExperimentalWarning",
|
||||
"--disable-warning=DEP0040",
|
||||
"--disable-warning=DEP0060",
|
||||
"--max-old-space-size=4096",
|
||||
];
|
||||
|
||||
const run = (entry) =>
|
||||
@ -54,6 +55,11 @@ const run = (entry) =>
|
||||
});
|
||||
children.add(child);
|
||||
child.on("exit", (code, signal) => {
|
||||
if (signal === 'SIGKILL' || signal === 'SIGABRT' || signal === 'SIGSEGV') {
|
||||
console.error(`Worker ${entry.name} crashed with signal ${signal} (possible OOM or resource exhaustion)`);
|
||||
} else if (signal) {
|
||||
console.warn(`Worker ${entry.name} terminated with signal ${signal}`);
|
||||
}
|
||||
children.delete(child);
|
||||
resolve(code ?? (signal ? 1 : 0));
|
||||
});
|
||||
|
||||
@ -7,7 +7,7 @@ const repoRoot = path.dirname(fileURLToPath(import.meta.url));
|
||||
const isCI = process.env.CI === "true" || process.env.GITHUB_ACTIONS === "true";
|
||||
const isWindows = process.platform === "win32";
|
||||
const localWorkers = Math.max(4, Math.min(16, os.cpus().length));
|
||||
const ciWorkers = isWindows ? 2 : 3;
|
||||
const ciWorkers = isWindows ? 1 : 2;
|
||||
|
||||
export default defineConfig({
|
||||
resolve: {
|
||||
@ -16,8 +16,8 @@ export default defineConfig({
|
||||
},
|
||||
},
|
||||
test: {
|
||||
testTimeout: 120_000,
|
||||
hookTimeout: isWindows ? 180_000 : 120_000,
|
||||
testTimeout: 300_000,
|
||||
hookTimeout: isWindows ? 300_000 : 240_000,
|
||||
pool: "forks",
|
||||
maxWorkers: isCI ? ciWorkers : localWorkers,
|
||||
include: [
|
||||
|
||||
Loading…
Reference in New Issue
Block a user