From 5f1096849194f39188ad63ad0e60e632287ff5f6 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Sun, 28 Jun 2026 10:25:29 +0900 Subject: [PATCH] Update chrome.mts --- .github/scripts/chrome.mts | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/.github/scripts/chrome.mts b/.github/scripts/chrome.mts index 9bc43de030..b2493915d2 100644 --- a/.github/scripts/chrome.mts +++ b/.github/scripts/chrome.mts @@ -171,22 +171,31 @@ async function launchChrome(label: string): Promise { child.stdout.on('data', data => process.stderr.write(`[chrome:${label}] ${data}`)); child.stderr.on('data', data => process.stderr.write(`[chrome:${label}] ${data}`)); - const startedAt = Date.now(); - while (Date.now() - startedAt < 30_000) { - if (child.exitCode != null) throw new Error(`Chrome exited early with code ${child.exitCode}`); - try { - await fetchJson(`http://127.0.0.1:${port}/json/version`); - return { - process: child, - port, - userDataDir, - }; - } catch { - await util.sleep(250); + try { + const startedAt = Date.now(); + while (Date.now() - startedAt < 30_000) { + if (child.exitCode != null) throw new Error(`Chrome exited early with code ${child.exitCode}`); + try { + await fetchJson(`http://127.0.0.1:${port}/json/version`); + return { + process: child, + port, + userDataDir, + }; + } catch { + await util.sleep(250); + } } - } - throw new Error('Timed out waiting for Chrome DevTools Protocol'); + throw new Error('Timed out waiting for Chrome DevTools Protocol'); + } catch (err) { + await closeChrome({ + process: child, + port, + userDataDir, + }); + throw err; + } } async function closeChrome(handle: ChromeHandle) {