Move to Node 24 - #411
Move to Node 24#411
Conversation
Node 22 enters maintenance in October and 24 is the active LTS until 2028, so CI, the image and the engines floor all move to 24. Two native dependencies did not survive the ABI/toolchain change: - bucketclient 8.2.6 carried its own Arsenal 8.2.4, which pulled diskusage — unmaintained since 2021 and still on the pre-Node-24 NAN API. 8.2.10 takes Arsenal as a peer dependency, so we get a single copy (ours) and diskusage disappears from the tree. - node-rdkafka 2.x builds with C++17, while the Node 24 headers need C++20. Fixed in 3.x; the Producer API we use is unchanged. Issue: S3UTILS-248
Hello francoisferrand,My role is to assist you with the merge of this Available options
Available commands
Status report is not available. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## development/1 #411 +/- ##
==============================================
Coverage 45.78% 45.78%
==============================================
Files 88 88
Lines 6555 6555
Branches 1383 1383
==============================================
Hits 3001 3001
Misses 3504 3504
Partials 50 50 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
|
|
/approve |
|
I have successfully merged the changeset of this pull request
The following branches have NOT changed:
This pull request did not target the following hotfix branch(es) so they
Please check the status of the associated issue S3UTILS-248. Goodbye francoisferrand. The following options are set: approve |
Moves CI, the image and the
enginesfloor from Node 22 to Node 24, as part of the org-wide Node 24 upgrade (OS-1155).Two things actually broke on 24:
diskusagefails to compile — it uses thev8::ScriptOriginNAN API that Node removed, and it's unmaintained (last publish 2021), so there's no version to bump to. It was only in the tree via a duplicate nestedarsenalcopy dragged in bybucketclient#8.2.6;bucketclient#8.2.10makes Arsenal a peer dependency, which collapses that duplicate and dropsdiskusageentirely.node-rdkafka2.x doesn't build: itsbinding.gypasks for C++17, but Node 24's v8/cppgc headers need C++20. 3.x builds fine. The only consumer here isrequeueFailedCRRCronJob.jsand it stays on API-stableProducermethods, so no code change.Validated on Node 24.21.0: install clean, lint clean, 32 unit suites / 472 tests pass, docker build succeeds and the modules load inside the image.
Issue: S3UTILS-248