diff --git a/.github/workflows/examples.yaml b/.github/workflows/examples.yaml index dc7702d..39a9e01 100644 --- a/.github/workflows/examples.yaml +++ b/.github/workflows/examples.yaml @@ -88,12 +88,17 @@ jobs: ./.github/scripts/run-example-benchmarks.sh ${{ runner.temp }} + - name: Set up Node.js + uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 + with: + node-version: "24" + - name: Build Report run: | cp -r ${{ runner.temp }}/output/ ./output/ pushd report - npm install - npm run build + corepack yarn install --immutable + corepack yarn build popd - name: Upload Output diff --git a/.github/workflows/nodejs.yaml b/.github/workflows/nodejs.yaml index 072a3ee..e05b93a 100644 --- a/.github/workflows/nodejs.yaml +++ b/.github/workflows/nodejs.yaml @@ -21,18 +21,21 @@ jobs: working-directory: ./report steps: - name: Harden the runner (Audit all outbound calls) - uses: step-security/harden-runner@002fdce3c6a235733a90a27c80493a3241e56863 # v2.12.1 + uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3 with: egress-policy: audit - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Setup Node.js - uses: actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3.9.1 + uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 with: - node-version: "20" + node-version: "24" cache: "yarn" cache-dependency-path: "./report/yarn.lock" + - name: Enable Corepack + run: corepack enable + - name: Install dependencies run: yarn install --immutable - name: Check formatting diff --git a/.github/workflows/public-benchmarks.yaml b/.github/workflows/public-benchmarks.yaml index 7333f8c..9e2828b 100644 --- a/.github/workflows/public-benchmarks.yaml +++ b/.github/workflows/public-benchmarks.yaml @@ -83,12 +83,17 @@ jobs: --reth-bin ${{ runner.temp }}/bin/reth \ --geth-bin ${{ runner.temp }}/bin/geth + - name: Set up Node.js + uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 + with: + node-version: "24" + - name: Build Report run: | cp -r ${{ runner.temp }}/output/ ./output/ pushd report - npm install - npm run build + corepack yarn install --immutable + corepack yarn build popd - name: Upload static files as artifact diff --git a/README.md b/README.md index 42ea5f1..afb7e3f 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ Public results are available at the following links: - **Go:** Version 1.21 or later. Install from [go.dev](https://go.dev/dl/) - **Foundry:** For smart contract compilation. See [installation guide](https://book.getfoundry.sh/getting-started/installation) -- **Node.js:** Version 18+ for the interactive dashboard. Install from [nodejs.org](https://nodejs.org/) +- **Node.js:** Version 24 LTS for the interactive dashboard. Install from [nodejs.org](https://nodejs.org/) ## Getting Started @@ -123,11 +123,11 @@ To see available options: ```bash cd report/ -npm install -npm run dev +corepack yarn install --immutable +corepack yarn dev ``` -Open your browser to the URL shown (typically `http://localhost:5173`). +Open your browser to the URL shown (typically `http://localhost:3000`). ## Available Benchmarks diff --git a/report/package.json b/report/package.json index 7f89f13..4147a08 100644 --- a/report/package.json +++ b/report/package.json @@ -30,7 +30,7 @@ "devDependencies": { "@types/d3": "^7.4.3", "@types/lodash": "^4.17.16", - "@types/node": "^20.11.24", + "@types/node": "^24.0.0", "@types/react": "^19.1.0", "@types/react-dom": "^19.1.2", "@typescript-eslint/eslint-plugin": "^8.30.1", diff --git a/report/src/filter.test.ts b/report/src/filter.test.ts index 7d13e18..3f4cc6a 100644 --- a/report/src/filter.test.ts +++ b/report/src/filter.test.ts @@ -6,6 +6,8 @@ import { BenchmarkRun } from "./types"; const sampleRuns: BenchmarkRun[] = [ { sourceFile: "test1.json", + id: "test1", + createdAt: "", testName: "A", testDescription: "Desc A", outputDir: "/tmp/a", @@ -14,6 +16,8 @@ const sampleRuns: BenchmarkRun[] = [ }, { sourceFile: "test2.json", + id: "test2", + createdAt: "", testName: "B", testDescription: "Desc B", outputDir: "/tmp/b", @@ -22,6 +26,8 @@ const sampleRuns: BenchmarkRun[] = [ }, { sourceFile: "test3.json", + id: "test3", + createdAt: "", testName: "C", testDescription: "Desc C", outputDir: "/tmp/c", @@ -30,6 +36,8 @@ const sampleRuns: BenchmarkRun[] = [ }, { sourceFile: "test4.json", + id: "test4", + createdAt: "", testName: "D", testDescription: "Desc D", outputDir: "/tmp/d", @@ -38,6 +46,8 @@ const sampleRuns: BenchmarkRun[] = [ }, { sourceFile: "test5.json", + id: "test5", + createdAt: "", testName: "E", testDescription: "Desc E", outputDir: "/tmp/e", @@ -74,6 +84,7 @@ describe("BenchmarkVariables", () => { const versionedRuns: BenchmarkRun[] = [ { sourceFile: "v1-old.json", + id: "v1-old", testName: "old v1", testDescription: "", outputDir: "/tmp/v1-old", @@ -83,6 +94,7 @@ describe("BenchmarkVariables", () => { }, { sourceFile: "v2.json", + id: "v2", testName: "v2", testDescription: "", outputDir: "/tmp/v2", @@ -92,6 +104,7 @@ describe("BenchmarkVariables", () => { }, { sourceFile: "v1-latest.json", + id: "v1-latest", testName: "latest v1", testDescription: "", outputDir: "/tmp/v1-latest", @@ -101,6 +114,7 @@ describe("BenchmarkVariables", () => { }, { sourceFile: "unknown.json", + id: "unknown", testName: "unknown", testDescription: "", outputDir: "/tmp/unknown", @@ -178,6 +192,8 @@ describe("BenchmarkVariables", () => { const singleVarRuns: BenchmarkRun[] = [ { sourceFile: "f1", + id: "f1", + createdAt: "", testName: "T1", testDescription: "", outputDir: "", @@ -186,6 +202,8 @@ describe("BenchmarkVariables", () => { }, { sourceFile: "f2", + id: "f2", + createdAt: "", testName: "T2", testDescription: "", outputDir: "", @@ -211,6 +229,8 @@ describe("BenchmarkVariables", () => { const sparseRuns: BenchmarkRun[] = [ { sourceFile: "s1", + id: "s1", + createdAt: "", testName: "S1", testDescription: "", outputDir: "", @@ -219,6 +239,8 @@ describe("BenchmarkVariables", () => { }, { sourceFile: "s2", + id: "s2", + createdAt: "", testName: "S2", testDescription: "", outputDir: "", @@ -227,6 +249,8 @@ describe("BenchmarkVariables", () => { }, { sourceFile: "s3", + id: "s3", + createdAt: "", testName: "S3", testDescription: "", outputDir: "", diff --git a/report/src/pages/BenchmarkLoadTestDetail.tsx b/report/src/pages/BenchmarkLoadTestDetail.tsx deleted file mode 100644 index bfbba76..0000000 --- a/report/src/pages/BenchmarkLoadTestDetail.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { useParams } from "react-router-dom"; -import Navbar from "../components/Navbar"; -import { useBenchmarkLoadTestResult } from "../utils/useDataSeries"; -import { LoadTestReportContent } from "./LoadTestDetail"; - -const BenchmarkLoadTestDetail = () => { - const { outputDir } = useParams(); - const { - data: result, - isLoading, - error, - } = useBenchmarkLoadTestResult(outputDir); - - return ( -
- -
- {isLoading && ( -
- Loading benchmark load test… -
- )} - - {error && ( -
- Failed to load benchmark load test result: {String(error)} -
- )} - - {result && ( - - Output dir: {outputDir} - - } - backLink={{ - to: "/latest", - label: "View benchmark runs →", - }} - /> - )} -
-
- ); -}; - -export default BenchmarkLoadTestDetail; diff --git a/report/yarn.lock b/report/yarn.lock index 8bb45b8..9e9f0f6 100644 --- a/report/yarn.lock +++ b/report/yarn.lock @@ -1884,12 +1884,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.11.24": - version: 20.19.30 - resolution: "@types/node@npm:20.19.30" +"@types/node@npm:^24.0.0": + version: 24.19.2 + resolution: "@types/node@npm:24.19.2" dependencies: - undici-types: "npm:~6.21.0" - checksum: 10c0/23dbea652727d947ea35fc1c4e8acb7e1c535e85f6c139c3a4697864a5af164655ce305ab0877ea4cca537deee0405bf56aeac714f236ae1a3dd0fa6b87cc860 + undici-types: "npm:>=7.24.0 <7.24.7" + checksum: 10c0/b51a7f8854007ad579dffdd0633d8addbfeb2c97cceb380f2eba0ed163638ec52e17565385a6cc04d54ac4ff99c70c64aee68a4ca45b6128c035e828794e29c5 languageName: node linkType: hard @@ -5419,7 +5419,7 @@ __metadata: "@tailwindcss/vite": "npm:^4.1.4" "@types/d3": "npm:^7.4.3" "@types/lodash": "npm:^4.17.16" - "@types/node": "npm:^20.11.24" + "@types/node": "npm:^24.0.0" "@types/react": "npm:^19.1.0" "@types/react-dom": "npm:^19.1.2" "@typescript-eslint/eslint-plugin": "npm:^8.30.1" @@ -6238,10 +6238,10 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~6.21.0": - version: 6.21.0 - resolution: "undici-types@npm:6.21.0" - checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 +"undici-types@npm:>=7.24.0 <7.24.7": + version: 7.24.6 + resolution: "undici-types@npm:7.24.6" + checksum: 10c0/d9cd8befb643ac904615c280a095ba4240531f6bb4a5e75a22a7483630ca8d3f1016d2ab6ace6ceda1f63b3a2db2fe037fafe121d6917a0187573aa548ff78ca languageName: node linkType: hard