Skip to content

Commit 7fe67ac

Browse files
committed
chore: drop Node.js 20 support, require Node 22+
Node 20 reached EOL on 2026-04-30. Bump the declared minimum to Node 22 (22.11.0 for the CLI package), replace Node 20 with Node 22 in the single-version CI jobs, and shift the CLI test matrix from [20, 22] to [22, 24] so what we test matches what publish.yml already ships on.
1 parent 34852f9 commit 7fe67ac

7 files changed

Lines changed: 16 additions & 9 deletions

File tree

.changeset/drop-node-20.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@graphprotocol/graph-cli': minor
3+
---
4+
5+
Drop support for Node.js 20 (end-of-life 2026-04-30). The minimum supported
6+
Node.js version is now 22.11.0 (Node 22 LTS). CI now tests on Node 22 and 24;
7+
released binaries continue to be built on Node 24.

.github/actions/setup-node/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ inputs:
77
nodeVersion:
88
description: Node.js version to use
99
required: true
10-
default: '20'
10+
default: '22'
1111
workingDirectory:
1212
description: Working directory
1313
required: false

.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
- uses: ./.github/actions/setup-node
2525
name: Setup Env
2626
with:
27-
nodeVersion: 20
27+
nodeVersion: 22
2828
packageManager: pnpm
2929
packageManagerVersion: 9
3030

@@ -38,7 +38,7 @@ jobs:
3838
strategy:
3939
fail-fast: false
4040
matrix:
41-
node-version: [20, 22]
41+
node-version: [22, 24]
4242
steps:
4343
- name: Checkout Repository
4444
uses: actions/checkout@v5
@@ -80,7 +80,7 @@ jobs:
8080
- uses: ./.github/actions/setup-node
8181
name: Setup Env
8282
with:
83-
nodeVersion: 20
83+
nodeVersion: 22
8484
packageManager: pnpm
8585
packageManagerVersion: 9
8686

@@ -110,7 +110,7 @@ jobs:
110110
- uses: ./.github/actions/setup-node
111111
name: Setup Env
112112
with:
113-
nodeVersion: 20
113+
nodeVersion: 22
114114
packageManager: pnpm
115115
packageManagerVersion: 9
116116

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ all the communications.
2121
To run this project locally:
2222

2323
1. Clone the repository
24-
2. Make sure you have [Node.js](https://nodejs.org/en) `>=20.x` installed
24+
2. Make sure you have [Node.js](https://nodejs.org/en) `>=22.x` installed
2525
3. Make sure you have [`pnpm` installed](https://pnpm.io/installation)
2626
4. Run `pnpm install` to install dependencies
2727
5. Run `pnpm build` to build the packages

examples/ethereum-basic-event-handlers/hardhat/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM node:20-alpine
1+
FROM node:22-alpine
22

33
COPY . /usr/src/app
44

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"license": "(Apache-2.0 OR MIT)",
1313
"private": true,
1414
"engines": {
15-
"node": ">=20.0.0",
15+
"node": ">=22.0.0",
1616
"pnpm": "9"
1717
},
1818
"scripts": {

packages/cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
},
1111
"license": "(Apache-2.0 OR MIT)",
1212
"engines": {
13-
"node": ">=20.18.1"
13+
"node": ">=22.11.0"
1414
},
1515
"bin": {
1616
"graph": "bin/run.js"

0 commit comments

Comments
 (0)