From c6d19a3cc96c006e72ca996b87d2c8503fda5502 Mon Sep 17 00:00:00 2001 From: Dineth Hettiarachchi Date: Mon, 26 Oct 2026 12:29:55 +0530 Subject: [PATCH 1/2] web: hero recording script no longer clicks the removed Play button The grid now starts playing on arrival, so the script waits for it instead. --- web/scripts/record-hero.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/scripts/record-hero.mjs b/web/scripts/record-hero.mjs index 4fff1df..ea73c4d 100644 --- a/web/scripts/record-hero.mjs +++ b/web/scripts/record-hero.mjs @@ -21,7 +21,7 @@ await page.getByRole("button", { name: "Compile & run" }).click(); await page.getByText("bit-exact").first().waitFor({ timeout: 150_000 }); await page.getByRole("tab", { name: "tiny-tpu" }).click(); await page.getByRole("img", { name: /^PE\[0\]\[0\] / }).first().scrollIntoViewIfNeeded(); -await page.getByRole("button", { name: "Play" }).click(); +// The grid starts playing on arrival, so there is nothing to click; let it run through its passes. await page.waitForTimeout(6000); await page.getByRole("tab", { name: "Run & compare" }).click(); await page.waitForTimeout(3000); From b390c905a2a7377280ee2bbe4002824eefdbde4b Mon Sep 17 00:00:00 2001 From: Dineth Hettiarachchi Date: Mon, 26 Oct 2026 12:34:05 +0530 Subject: [PATCH 2/2] web e2e: time the warm compile from click to idle, not the busy label MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 'Working…' label can come and go faster than a poll sees it, so the test failed intermittently in CI (the same commit passed on its push run). It now waits for the button to return to idle within the 5 s budget. --- web/e2e/smoke.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/e2e/smoke.spec.ts b/web/e2e/smoke.spec.ts index 6962497..4a7ecb0 100644 --- a/web/e2e/smoke.spec.ts +++ b/web/e2e/smoke.spec.ts @@ -20,9 +20,9 @@ test.describe("Compiler Explorer smoke", () => { await expect(page.getByText("bit-exact").first()).toBeVisible({ timeout: 150_000 }); await expect(page.getByRole("button", { name: "Compile & run" })).toBeEnabled(); + // The busy label can come and go faster than a poll sees it, so time the whole click-to-idle wait. const start = Date.now(); await page.getByRole("button", { name: "Compile & run" }).click(); - await expect(page.getByRole("button", { name: "Working…" })).toBeVisible(); await expect(page.getByRole("button", { name: "Compile & run" })).toBeEnabled({ timeout: WARM_BUDGET_MS }); expect(Date.now() - start).toBeLessThan(WARM_BUDGET_MS); await expect(page.getByText("bit-exact").first()).toBeVisible();