From f0810b054122d5e0daac118f135744abc5c9bcae Mon Sep 17 00:00:00 2001 From: Nathan Flurry Date: Mon, 2 Feb 2026 19:06:47 -0800 Subject: [PATCH] fix: handle already-exists error during crate publish --- scripts/release/sdk.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/scripts/release/sdk.ts b/scripts/release/sdk.ts index 603aab7..42b181d 100644 --- a/scripts/release/sdk.ts +++ b/scripts/release/sdk.ts @@ -116,12 +116,21 @@ export async function publishCrates(opts: ReleaseOpts) { try { await $({ - stdio: "inherit", + stdout: "pipe", + stderr: "pipe", cwd: cratePath, })`cargo publish --allow-dirty --no-verify`; console.log(`✅ Published ${crateName}@${opts.version}`); - } catch (err) { + } catch (err: any) { + // Check if error is because crate already exists (from a previous partial run) + if (err.stderr?.includes("already exists")) { + console.log( + `Version ${opts.version} of ${crateName} already exists on crates.io. Skipping...`, + ); + continue; + } console.error(`❌ Failed to publish ${crateName}`); + console.error(err.stderr || err.message); throw err; }