From ba47abc0159eeba7216c5a91f03bfa1bf1233138 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Tue, 28 Jul 2026 10:49:56 +0000
Subject: [PATCH 1/2] Initial plan
From aff8333367bb2c733e999ad106c4f6306e952541 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Tue, 28 Jul 2026 10:56:52 +0000
Subject: [PATCH 2/2] Fix benchmark dashboard HTML exceeding GitHub 100MB limit
by limiting embedded runs to DASHBOARD_RUN_LIMIT
---
scripts/benchmark/benchmark-history.ts | 9 ++++++---
tests/benchmark-history.test.ts | 3 ++-
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/scripts/benchmark/benchmark-history.ts b/scripts/benchmark/benchmark-history.ts
index 071c355ae..234e62df7 100644
--- a/scripts/benchmark/benchmark-history.ts
+++ b/scripts/benchmark/benchmark-history.ts
@@ -524,11 +524,14 @@ export const createBenchmarkHistoryDashboard = (
const runs = [...allRuns].sort((left, right) =>
left.createdAt.localeCompare(right.createdAt),
)
- const points = getDashboardPoints(runs.slice(-DASHBOARD_RUN_LIMIT)).map(
+ const totalRunCount = runs.length
+ const dashboardRuns = runs.slice(-DASHBOARD_RUN_LIMIT)
+ const points = getDashboardPoints(dashboardRuns).map(
({ samples: _samples, ...point }) => point,
)
const data = JSON.stringify({
- runs,
+ runs: dashboardRuns,
+ totalRunCount,
points,
dashboardRunLimit: DASHBOARD_RUN_LIMIT,
})
@@ -786,7 +789,7 @@ function renderHeader() {
}
const datasets = new Set(dashboardData.points.map((point) => point.datasetName))
getRequiredElement('header-facts').innerHTML =
- '' + dashboardData.runs.length + ' stored runs' +
+ '' + (dashboardData.totalRunCount ?? dashboardData.runs.length) + ' stored runs' +
'' + Math.min(dashboardData.dashboardRunLimit, dashboardData.runs.length) +
' runs charted' + datasets.size +
' datasets' + (latestRun
diff --git a/tests/benchmark-history.test.ts b/tests/benchmark-history.test.ts
index 43559bc8b..f8b08e0ed 100644
--- a/tests/benchmark-history.test.ts
+++ b/tests/benchmark-history.test.ts
@@ -363,7 +363,8 @@ test("benchmark history retains full sample records and embeds a self-contained
expect(parsedDashboardData.points).toHaveLength(2)
expect(parsedDashboardData.points[0]).not.toHaveProperty("samples")
expect(parsedDashboardData.runs[0]?.report.tests).toHaveLength(2)
- expect(parsedFullDashboardData.runs).toHaveLength(101)
+ expect(parsedFullDashboardData.runs).toHaveLength(100)
+ expect(parsedFullDashboardData.totalRunCount).toBe(101)
expect(parsedFullDashboardData.points).toHaveLength(100)
expect(parsedFullDashboardData.points[0]?.runId).toBe("2-1")
expect(dashboard).not.toContain("Largest regressions in view")