Skip to content

chore: update Node.js to 24#165

Open
decentraland-bot wants to merge 5 commits into
masterfrom
chore/update-node-to-24
Open

chore: update Node.js to 24#165
decentraland-bot wants to merge 5 commits into
masterfrom
chore/update-node-to-24

Conversation

@decentraland-bot

Copy link
Copy Markdown

Summary

  • Upgrades Node.js version reference in Dockerfile from Node 10 to Node 24 (LTS)
  • Node 24 is the current LTS release; Node 10 is EOL

Changes

Dockerfile: node:10-alpinenode:24-alpine

Testing

  • Dockerfile syntax verified via diff review
  • No logic changes — version number update only

Closes

#164


Created via Slack with Claude
Requested by Lautaro Petaccio via Slack

Upgrade all CI workflow and Dockerfile Node.js version references to Node 24 (LTS).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
LautaroPetaccio
LautaroPetaccio previously approved these changes Jun 1, 2026
the build job still used the deprecated circleci/node:10.15.1 image,
whose git is too old for circleci's blobless checkout, so the checkout
step failed before any test ran. align the ci executor with the
dockerfile's node 24 by switching to the next-gen cimg/node:24.0 image.
replace .circleci/config.yml with a github actions workflow that runs npm ci and npm test on node 24, using setup-node's built-in npm cache.
@LautaroPetaccio LautaroPetaccio force-pushed the chore/update-node-to-24 branch from aa91917 to f99c03c Compare June 1, 2026 20:56
charly-bg
charly-bg previously approved these changes Jun 2, 2026
the truffle 4 / web3 0.20 dependency tree no longer installs on modern
npm (node 24): the lockfile is lockfileversion 1 and a fresh install
dies on a dead git ref (websocket@1.0.26 -> gulp#4.0). replace it with
hardhat 2 + @nomiclabs/hardhat-truffle5 + hardhat-web3 + web3 1.x, which
runs the existing truffle-style tests with bounded changes.

- solidity stays at 0.4.24, contracts byte-identical (proxies are
  deployed on mainnet via zos); deployment tooling left untouched.
- hardhat.config.js compiles 0.4.24 (optimizer runs 200) and configures
  a permissive network (high block gas limit, 1m eth accounts) to match
  the old ganache instance.
- move the two solidity test helpers under contracts/test so hardhat
  compiles them; relocation only, not deployed.
- adapt tests to web3 1.x: bn assertions via a small chai plugin
  (web3.utils.toBN), object-destructured tuple returns, awaited async
  .at(), getpastevents instead of event.get(), web3.utils.sha3,
  ethereumjs-util keccak, and explicit zero-address/bytes4 args where
  web3 1.x is stricter.
- regenerate package-lock.json (v3); babel 6 -> 7.
- gate the informational gas benchmarks behind GAS_REPORT so ci stays fast.

287 passing, 2 pending (the gated benchmarks).
re-add babel-eslint (removed alongside the truffle toolchain) so the
eslint pass of `npm run lint` works again; auto-format the migrated test
files and drop two unused vars in EstateRegistry test.

delete scripts/test.sh and scripts/testrpc.sh, which booted ganache for
`truffle test` and are superseded by `hardhat test`.

note: `npm run lint` also runs solium over contracts/, which reports
pre-existing style errors (mostly 2-space indentation) unrelated to this
migration; left untouched to keep contract source byte-identical.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants