mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-27 21:07:01 -06:00
fix(tooling): skip gauntlet declaration prebuild
This commit is contained in:
@@ -737,6 +737,7 @@ async function main() {
|
||||
const commandEnv = buildGauntletPrebuildEnv(env, {
|
||||
includePrivateQa: !options.skipQa,
|
||||
buildIds: selectedPlugins.map((plugin) => plugin.buildId),
|
||||
skipDeclarationBuild: true,
|
||||
});
|
||||
if (!options.skipPrebuild && (selectedPlugins.length > 0 || !options.skipQa)) {
|
||||
process.stderr.write("[plugin-gauntlet] prebuild\n");
|
||||
|
||||
@@ -350,23 +350,33 @@ function collectQaBaselineRegressionObservations(rows, thresholds = {}) {
|
||||
|
||||
function buildGauntletPrebuildEnv(env, options = {}) {
|
||||
const buildIds = new Set(normalizeStringArray(options.buildIds));
|
||||
const runtimeOnlyPrebuildEnv = options.skipDeclarationBuild
|
||||
? { OPENCLAW_RUN_NODE_SKIP_DTS_BUILD: "1" }
|
||||
: {};
|
||||
const hasRuntimeOnlyPrebuildEnv = Object.keys(runtimeOnlyPrebuildEnv).length > 0;
|
||||
if (options.includePrivateQa) {
|
||||
for (const pluginId of NON_PACKAGED_BUNDLED_PLUGIN_DIRS) {
|
||||
buildIds.add(pluginId);
|
||||
}
|
||||
}
|
||||
if (!options.includePrivateQa) {
|
||||
return buildIds.size === 0
|
||||
return buildIds.size === 0 && !hasRuntimeOnlyPrebuildEnv
|
||||
? env
|
||||
: {
|
||||
...env,
|
||||
OPENCLAW_BUNDLED_PLUGIN_BUILD_IDS: [...buildIds]
|
||||
.toSorted((left, right) => left.localeCompare(right))
|
||||
.join(","),
|
||||
...runtimeOnlyPrebuildEnv,
|
||||
...(buildIds.size > 0
|
||||
? {
|
||||
OPENCLAW_BUNDLED_PLUGIN_BUILD_IDS: [...buildIds]
|
||||
.toSorted((left, right) => left.localeCompare(right))
|
||||
.join(","),
|
||||
}
|
||||
: {}),
|
||||
};
|
||||
}
|
||||
return {
|
||||
...env,
|
||||
...runtimeOnlyPrebuildEnv,
|
||||
OPENCLAW_BUILD_PRIVATE_QA: "1",
|
||||
OPENCLAW_ENABLE_PRIVATE_QA_CLI: "1",
|
||||
...(buildIds.size > 0
|
||||
|
||||
@@ -288,6 +288,22 @@ describe("plugin gateway gauntlet helpers", () => {
|
||||
expect(buildGauntletPrebuildEnv(env, { includePrivateQa: false })).toBe(env);
|
||||
});
|
||||
|
||||
it("marks gauntlet prebuilds as runtime-only when requested", () => {
|
||||
expect(
|
||||
buildGauntletPrebuildEnv(
|
||||
{ EXISTING: "1" },
|
||||
{
|
||||
buildIds: ["acpx"],
|
||||
skipDeclarationBuild: true,
|
||||
},
|
||||
),
|
||||
).toEqual({
|
||||
EXISTING: "1",
|
||||
OPENCLAW_BUNDLED_PLUGIN_BUILD_IDS: "acpx",
|
||||
OPENCLAW_RUN_NODE_SKIP_DTS_BUILD: "1",
|
||||
});
|
||||
});
|
||||
|
||||
it("prebuilds only selected plugin dist entries for bounded gauntlet runs", () => {
|
||||
expect(
|
||||
buildGauntletPrebuildEnv(
|
||||
|
||||
Reference in New Issue
Block a user