6464 codspeed-walltime :
6565 name : Run CodSpeed walltime
6666 runs-on : " codspeed-macro"
67+ env :
68+ # The custom Node build below is v24, but the repo pins engines.node to
69+ # v20 with engine-strict. Relax the check for this job so pnpm install
70+ # accepts the custom Node; the runtime itself is compatible.
71+ npm_config_engine_strict : " false"
6772 steps :
6873 - uses : " actions/checkout@v4"
6974 with :
@@ -74,15 +79,39 @@ jobs:
7479 with :
7580 cache : pnpm
7681 node-version-file : .nvmrc
82+
83+ # Custom Node build with the V8 walltime-profiling patches (COD-2819,
84+ # COD-2820) on top of v24.15.0. Prepended to PATH so the CodSpeed runner's
85+ # `which node` resolves to it instead of the setup-node toolchain.
86+ - name : Install custom Node build
87+ env :
88+ NODE_URL : https://github.com/GuillaumeLagrange/node/releases/download/v24.15.0-codspeed/node-v24.15.0-codspeed-linux-arm64.gz
89+ NODE_SHA256 : cc5501e713a88632d57a636ae9a0784fc78713056cd6caacc4e16df7b6a24721
90+ run : |
91+ mkdir -p "$RUNNER_TEMP/custom-node"
92+ curl -fsSL "$NODE_URL" -o "$RUNNER_TEMP/custom-node/node.gz"
93+ echo "$NODE_SHA256 $RUNNER_TEMP/custom-node/node.gz" | sha256sum -c -
94+ gunzip -f "$RUNNER_TEMP/custom-node/node.gz"
95+ chmod +x "$RUNNER_TEMP/custom-node/node"
96+ echo "$RUNNER_TEMP/custom-node" >> "$GITHUB_PATH"
97+
98+ - name : Verify custom Node is on PATH
99+ run : |
100+ which node
101+ node --version
102+ node --interpreted-frames-native-stack -e "console.log('custom node ok:', process.version, process.versions.v8)"
103+
77104 - name : Restore turbo cache
78105 uses : ./.github/actions/turbo-cache
79106 - run : pnpm install --frozen-lockfile --prefer-offline
80107 - run : pnpm turbo run build
81108
82109 - name : Run benchmarks
83- # use version from `main` branch to always test the latest version, in real projects, use a tag, like `@v2`
84- uses : CodSpeedHQ/action@main
110+ uses : CodSpeedHQ/action@3ab7a45ef04699335fd451268f4080ff83cc4ea5 # main
111+ env :
112+ CODSPEED_WALLTIME_PROFILER : samply
85113 with :
114+ runner-version : " v4.17.6-alpha.7"
86115 mode : walltime
87116 run : |
88117 pnpm turbo run bench --filter=@codspeed/tinybench-plugin
0 commit comments