From f25b0f6d5264831216cc2d60e28223eebb1c35a4 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Thu, 1 Oct 2026 16:44:34 -0700 Subject: [PATCH] refactor(scripts): deslop update parsing and provider routing (#163098) Reuse the existing package-version resolver, metadata parser, and log-version reader. Combine the identical CI provider branches while retaining provider ordering and platform policy. Validation: 162 tests across three focused suites passed on Blacksmith Testbox; both import-cycle checks reported zero. The committed patch matches the reviewed and remote-tested patch. --- scripts/crabbox-routing-policy.mts | 1 - scripts/e2e/parallels/npm-update-smoke.ts | 23 +++-------------------- 2 files changed, 3 insertions(+), 21 deletions(-) diff --git a/scripts/crabbox-routing-policy.mts b/scripts/crabbox-routing-policy.mts index 8d117cbf8c9d..84075c27a8a2 100644 --- a/scripts/crabbox-routing-policy.mts +++ b/scripts/crabbox-routing-policy.mts @@ -48,7 +48,6 @@ export function crabboxProviderChain({ const cloudFallback = ["azure", "aws"]; switch (workload) { case "ci-fast": - return available(["blacksmith-testbox", "daytona", ...cloudFallback], providers); case "ci-proof": case "release-proof": return available(["blacksmith-testbox", "daytona", ...cloudFallback], providers); diff --git a/scripts/e2e/parallels/npm-update-smoke.ts b/scripts/e2e/parallels/npm-update-smoke.ts index 85946f116dfd..2f84c152384a 100755 --- a/scripts/e2e/parallels/npm-update-smoke.ts +++ b/scripts/e2e/parallels/npm-update-smoke.ts @@ -574,14 +574,6 @@ function openClawVersionFamily(version: string): string { return /^(\d{4}\.\d{1,2}\.\d{1,2})(?:[-.]|$)/u.exec(version.trim())?.[1] ?? ""; } -function parseOpenClawPackageSpecVersion(spec: string): string { - const value = spec.trim(); - if (!value) { - return ""; - } - return resolveOpenClawRegistryVersion(value) || ""; -} - export function parseRegistryPackageMetadata(raw: string): { gitHead: string; tarball: string; @@ -979,10 +971,7 @@ export class NpmUpdateSmoke { const output = run("npm", ["view", spec, "version", "dist.tarball", "gitHead", "--json"], { check: false, quiet: true, - }).stdout.trim(); - if (!output) { - return { gitHead: "", tarball: "", version: "" }; - } + }).stdout; return parseRegistryPackageMetadata(output); } @@ -1005,7 +994,7 @@ export class NpmUpdateSmoke { const platform = this.platformFromLabel(job.label); const status = (await job.promise) === 0 ? "pass" : "fail"; this.updateStatus[platform] = status; - this.updateVersion[platform] = await this.extractLastVersion(job.logPath); + this.updateVersion[platform] = await extractLastOpenClawVersionFromLog(job.logPath); this.recordTiming("update", job, status); if (status !== "pass") { this.dumpLogTail(job.logPath); @@ -1434,10 +1423,6 @@ export class NpmUpdateSmoke { return label.toLowerCase() as Platform; } - private async extractLastVersion(logPath: string): Promise { - return await extractLastOpenClawVersionFromLog(logPath); - } - private dumpLogTail(logPath: string): void { const log = run("tail", ["-n", "80", logPath], { check: false, quiet: true }).stdout; if (log) { @@ -1565,9 +1550,7 @@ export class NpmUpdateSmoke { } const candidateVersion = this.targetTarballVersion || - (this.freshTargetSpec - ? parseOpenClawPackageSpecVersion(this.freshTargetSpec) - : parseOpenClawPackageSpecVersion(this.options.updateTarget)); + resolveOpenClawRegistryVersion(this.freshTargetSpec || this.options.updateTarget); const targetFamily = openClawVersionFamily(candidateVersion); if (!targetFamily) { return;