Merge branch 'main' into fix/brave_api
This commit is contained in:
commit
fb12d2ca46
@ -23,6 +23,9 @@ const isCI = process.env.CI === "true" || process.env.GITHUB_ACTIONS === "true";
|
|||||||
const isMacOS = process.platform === "darwin" || process.env.RUNNER_OS === "macOS";
|
const isMacOS = process.platform === "darwin" || process.env.RUNNER_OS === "macOS";
|
||||||
const isWindows = process.platform === "win32" || process.env.RUNNER_OS === "Windows";
|
const isWindows = process.platform === "win32" || process.env.RUNNER_OS === "Windows";
|
||||||
const isWindowsCi = isCI && isWindows;
|
const isWindowsCi = isCI && isWindows;
|
||||||
|
const shardOverride = Number.parseInt(process.env.CLAWDBOT_TEST_SHARDS ?? "", 10);
|
||||||
|
const shardCount = isWindowsCi ? (Number.isFinite(shardOverride) && shardOverride > 1 ? shardOverride : 2) : 1;
|
||||||
|
const windowsCiArgs = isWindowsCi ? ["--pool", "threads", "--no-file-parallelism"] : [];
|
||||||
const overrideWorkers = Number.parseInt(process.env.CLAWDBOT_TEST_WORKERS ?? "", 10);
|
const overrideWorkers = Number.parseInt(process.env.CLAWDBOT_TEST_WORKERS ?? "", 10);
|
||||||
const resolvedOverride = Number.isFinite(overrideWorkers) && overrideWorkers > 0 ? overrideWorkers : null;
|
const resolvedOverride = Number.isFinite(overrideWorkers) && overrideWorkers > 0 ? overrideWorkers : null;
|
||||||
const parallelRuns = isWindowsCi ? [] : runs.filter((entry) => entry.name !== "gateway");
|
const parallelRuns = isWindowsCi ? [] : runs.filter((entry) => entry.name !== "gateway");
|
||||||
@ -41,9 +44,11 @@ const WARNING_SUPPRESSION_FLAGS = [
|
|||||||
"--disable-warning=DEP0060",
|
"--disable-warning=DEP0060",
|
||||||
];
|
];
|
||||||
|
|
||||||
const run = (entry) =>
|
const runOnce = (entry, extraArgs = []) =>
|
||||||
new Promise((resolve) => {
|
new Promise((resolve) => {
|
||||||
const args = maxWorkers ? [...entry.args, "--maxWorkers", String(maxWorkers)] : entry.args;
|
const args = maxWorkers
|
||||||
|
? [...entry.args, "--maxWorkers", String(maxWorkers), ...windowsCiArgs, ...extraArgs]
|
||||||
|
: [...entry.args, ...windowsCiArgs, ...extraArgs];
|
||||||
const nodeOptions = process.env.NODE_OPTIONS ?? "";
|
const nodeOptions = process.env.NODE_OPTIONS ?? "";
|
||||||
const nextNodeOptions = WARNING_SUPPRESSION_FLAGS.reduce(
|
const nextNodeOptions = WARNING_SUPPRESSION_FLAGS.reduce(
|
||||||
(acc, flag) => (acc.includes(flag) ? acc : `${acc} ${flag}`.trim()),
|
(acc, flag) => (acc.includes(flag) ? acc : `${acc} ${flag}`.trim()),
|
||||||
@ -61,6 +66,16 @@ const run = (entry) =>
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const run = async (entry) => {
|
||||||
|
if (shardCount <= 1) return runOnce(entry);
|
||||||
|
for (let shardIndex = 1; shardIndex <= shardCount; shardIndex += 1) {
|
||||||
|
// eslint-disable-next-line no-await-in-loop
|
||||||
|
const code = await runOnce(entry, ["--shard", `${shardIndex}/${shardCount}`]);
|
||||||
|
if (code !== 0) return code;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
};
|
||||||
|
|
||||||
const shutdown = (signal) => {
|
const shutdown = (signal) => {
|
||||||
for (const child of children) {
|
for (const child of children) {
|
||||||
child.kill(signal);
|
child.kill(signal);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user