fix(tooling): skip gauntlet declaration prebuild

This commit is contained in:
Vincent Koc
2026-05-26 05:01:01 +02:00
parent c9d0464ed1
commit a695c28bfb
3 changed files with 31 additions and 4 deletions
@@ -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");
+14 -4
View File
@@ -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(