From 78c23ce16dde11a1b6a9ee62fc394e9f6889743a Mon Sep 17 00:00:00 2001 From: Rik Date: Tue, 29 Sep 2026 09:31:46 +1000 Subject: [PATCH] Edge publish: previous version still in certification is a notice, not a failure The package is uploaded to the draft either way; it can be submitted with the Publish workflow once Microsoft finishes the earlier submission. Co-Authored-By: Claude Opus 5.5 (1M context) --- scripts/publish/edge.mjs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/scripts/publish/edge.mjs b/scripts/publish/edge.mjs index 6044932..309e697 100644 --- a/scripts/publish/edge.mjs +++ b/scripts/publish/edge.mjs @@ -32,5 +32,16 @@ const { res: pubRes } = await call(API, { method: 'POST', headers: { ...auth, 'content-type': 'application/json' }, body: JSON.stringify({ notes: (await releaseNotes(v)).slice(0, 1500) }), }, 'publish'); -await waitFor(`${API}/operations/${pubRes.headers.get('location')}`, 'publish'); +try { + await waitFor(`${API}/operations/${pubRes.headers.get('location')}`, 'publish'); +} catch (err) { + // Edge takes one submission at a time. While the previous version is still being + // certified, the new package sits in the draft; submit it once certification finishes. + if (/InProgressSubmission/.test(err.message)) { + console.log(`edge: v${v} is uploaded to the draft, but the previous version is still in certification.`); + console.log(`edge: once it clears, run: gh workflow run publish.yml -f tag=v${v} -f stores=edge`); + process.exit(0); + } + throw err; +} console.log(`edge: submitted v${v} for certification`);