[ci] Pin CI Node.js to node-fetch@2-safe versions (22.23.1 / 24.18.0) - #14523
Conversation
Node 22.23.0 and 24.17.0 shipped a security backport that regressed node-fetch@2 keep-alive responses, throwing spurious ERR_STREAM_PREMATURE_CLOSE errors (nodejs/node#63989, fixed in 22.23.1 / 24.18.0). This was already causing flakes in the Handle Changesets job. Roll the pin out across the repo: - install-dependencies action default: 22 -> 22.23.1 (covers all default consumers) - changesets.yml: Node 24 -> 24.18.0 and the non-npm-deploy switch 22 -> 22.23.1 - test-and-check-other-node.yml: matrix Node 24 -> 24.18.0 (25 left as-is) - e2e-wrangler.yml: drop the now-redundant explicit pin (inherits the default)
|
|
Codeowners approval required for this PR:
Show detailed file reviewers |
|
All of these use The changes are internally consistent, correct, and complete:
No logic bugs, security issues, or backward-compatibility problems found. LGTM |
@cloudflare/autoconfig
create-cloudflare
@cloudflare/deploy-helpers
@cloudflare/kv-asset-handler
miniflare
@cloudflare/pages-shared
@cloudflare/unenv-preset
@cloudflare/vite-plugin
@cloudflare/vitest-pool-workers
@cloudflare/workers-auth
@cloudflare/workers-editor-shared
@cloudflare/workers-utils
wrangler
commit: |
workers-devprod
left a comment
There was a problem hiding this comment.
Codeowners reviews satisfied
Node 22.23.0 and 24.17.0 shipped a security backport that regressed
node-fetch@2keep-alive responses, causing spuriousERR_STREAM_PREMATURE_CLOSEerrors (nodejs/node#63989, fixed by nodejs/node#64004 in 22.23.1 / 24.18.0). This was already flaking the Handle Changesets job (ERR_STREAM_PREMATURE_CLOSEduring publish/deploy).#14476 pinned only the Wrangler E2E workflow. This rolls the pin out across the rest of CI, pinning to the
node-fetch@2-safe patch releases:install-dependenciesaction: defaultnode-version22→22.23.1(fixes every workflow that uses the default in one place, including the C3 E2E and main test jobs).changesets.yml: build/publish install24→24.18.0, and the non-npm-deploy Node switch22→22.23.1.test-and-check-other-node.yml: matrix Node24→24.18.0(keptdescription: "Node 24"so the required-check name stays stable;25left as-is).e2e-wrangler.yml: removed the now-redundant explicit22.23.1pin — it inherits the shared default.Left intentionally unpinned: Node
20intest-and-check.yml(old-Node error-message check, no HTTP) and Node25in the other-node matrix (bleeding-edge canary).These pins should be floated back to
22/24once the runners' default resolution is safely past the regressed patches.