mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 01:29:56 +00:00
* perf(ui): remove redundant login failure projections * perf(ci): balance release E2E and reuse npm downloads * refactor(ci): keep timing run provenance separate * fix(ci): preserve reporter types and trim login refresh state * refactor(ui): render login recovery commands directly * fix(ci): isolate release npm seed publication queue * fix(release): bound candidate metadata enumeration
30 lines
835 B
TypeScript
30 lines
835 B
TypeScript
import { spawnSync } from "node:child_process";
|
|
import path from "node:path";
|
|
|
|
export function runBuiltCli(
|
|
tempHome: string,
|
|
args: string[],
|
|
envOverrides: NodeJS.ProcessEnv = {},
|
|
options: { inheritEnvironment?: boolean } = {},
|
|
) {
|
|
const env: NodeJS.ProcessEnv = {
|
|
...(options.inheritEnvironment === false ? { PATH: process.env.PATH } : process.env),
|
|
HOME: tempHome,
|
|
USERPROFILE: tempHome,
|
|
OPENCLAW_TEST_FAST: "1",
|
|
};
|
|
delete env.OPENCLAW_HOME;
|
|
delete env.OPENCLAW_STATE_DIR;
|
|
delete env.OPENCLAW_CONFIG_PATH;
|
|
delete env.VITEST;
|
|
Object.assign(env, envOverrides);
|
|
|
|
const entry = path.resolve(process.cwd(), "openclaw.mjs");
|
|
return spawnSync(process.execPath, [entry, ...args], {
|
|
cwd: process.cwd(),
|
|
env,
|
|
encoding: "utf8",
|
|
maxBuffer: 10 * 1024 * 1024,
|
|
timeout: 60_000,
|
|
});
|
|
}
|