Repository navigation
fix(ci): run the deploy-tests shards on Node.js 24 - #402
Conversation
Since #393 every shard failed before running a suite: Next.js's run-tests.js requires yargs/yargs, an extensionless file in a "type": "module" package, which Node.js 26 loads as an ES module and rejects ("require is not defined in ES module scope"). The shards go back to Node.js 24, which this repository keeps supporting and every shard ran on until then.
|
Arkor — Preview deployments for arkorlab-upwind Use the checkbox below to choose whether this pull request gets preview deployments.
Checking this builds the latest commit and future pushes. Unchecking stops queued and future builds; a running build can finish and an existing preview stays available. |
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 45 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
[Medium impact] The PR appears safe to merge; no actionable issue was found in the exact runtime pin. SummaryRuns the deploy-test shards on Node.js
Reviews (2) · Last reviewed commit: "fix(ci): pin the deploy-tests shards to ..." · Reviewed by Greptile |
The adapter builds a native Function only under the exact Node.js versions it guards, and a floating 24 would move past 24.22.1.
Summary
Since #393, every deploy-tests shard fails before it runs a suite. The shards go back to Node.js 24.
List what this shard runsexits withReferenceError: require is not defined in ES module scopefromnextjs/node_modules/.pnpm/yargs@16.2.0/node_modules/yargs/yargs. Next.js'srun-tests.jsrequiresyargs/yargs, an extensionless file in a"type": "module"package, and Node.js 26.13.0 loads it as an ES module. All 64nodeshards of ci(deploy-tests): run node over the whole manifest on every pull request push #401's pull request run failed this way.deploy-tests.yamlruns the shard jobs on Node.js 24.22.1, as before Move development and CI to Node.js 26 LTS #393. It is pinned exactly because the adapter builds a native Function only under the Node.js versions it guards (isGuardedNodeVersion: 24.22.1 or 26.13.0), and a floating24would move past that version. The suite runs out of Next.js's checkout, and Next.js 16.4.3 targets Node.js 20 (.node-version). This repository keeps Node.js 24 working (devEngines.runtime.onFailiswarn), and every shard ran on it until Move development and CI to Node.js 26 LTS #393.reportjob still uses the rootpackage.jsonversion, and only runs this repository's own scripts.Without this, tonight's nightly runs fail the same way.
Verified
A dispatch on this branch at 6f2190f (
node,v16.4.3: hello-world, app-dir hello-world, module-layer, switchable-runtime) passed: run 41001781214. The run on Node.js 24 resolved to 24.22.1 then, the same version the pin now names.