Skip to content

Commit 455174b

Browse files
authored
chore!: Drop support for node.js v18, deprecate v20 (#9402)
* update "@types/node" → v20 * update node-check * add deprecation for node v20 in deprecation.md * update node version in ci * add todo * update node version in docker images * fix node types resolutions * regenerate yarn.lock * more comments in CI * add note about v18 depr * another type fix * upgrade angular � Conflicts: � yarn.lock
1 parent f6dbfe2 commit 455174b

File tree

39 files changed

+3069
-2589
lines changed

39 files changed

+3069
-2589
lines changed

.github/workflows/cloud.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ jobs:
6060

6161
strategy:
6262
matrix:
63-
node-version: [ 20.x ]
63+
node-version: [ 22.x ]
6464
db: [ 'athena', 'bigquery', 'snowflake' ]
6565
target: [ "x86_64-unknown-linux-gnu" ]
6666
fail-fast: false

.github/workflows/drivers-tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ jobs:
9191
name: Build native Linux ${{ matrix.node-version }} ${{ matrix.target }} Python ${{ matrix.python-version }}
9292
strategy:
9393
matrix:
94-
node-version: [ 20 ]
94+
node-version: [ 22 ]
9595
python-version: [ "fallback" ]
9696
target: [ "x86_64-unknown-linux-gnu" ]
9797
fail-fast: false
@@ -254,10 +254,10 @@ jobs:
254254
- name: Checkout
255255
uses: actions/checkout@v4
256256

257-
- name: Install Node.js 20.x
257+
- name: Install Node.js 22.x
258258
uses: actions/setup-node@v4
259259
with:
260-
node-version: 20.x
260+
node-version: 22.x
261261

262262
- name: Configure `yarn`
263263
run: yarn policies set-version v1.22.22

.github/workflows/master.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,10 @@ jobs:
6767
workspaces: ./rust/cubesql -> target
6868
key: cubesql-x86_64-unknown-linux-gnu
6969
shared-key: cubesql-x86_64-unknown-linux-gnu
70-
- name: Install Node.js 20
70+
- name: Install Node.js 22
7171
uses: actions/setup-node@v4
7272
with:
73-
node-version: 20
73+
node-version: 22
7474
- name: Install Yarn
7575
run: npm install -g yarn
7676
- name: Set Yarn version

.github/workflows/post-release.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
strategy:
2626
fail-fast: false
2727
matrix:
28-
node-version: [20.x]
28+
node-version: [22.x]
2929
steps:
3030
- name: Checkout
3131
uses: actions/checkout@v4
@@ -103,10 +103,10 @@ jobs:
103103
steps:
104104
- name: Checkout
105105
uses: actions/checkout@v4
106-
- name: Install Node.js 20.x
106+
- name: Install Node.js 22.x
107107
uses: actions/setup-node@v4
108108
with:
109-
node-version: 20.x
109+
node-version: 22.x
110110
- name: Restore lerna
111111
uses: actions/cache@v4
112112
with:
@@ -167,10 +167,10 @@ jobs:
167167
steps:
168168
- name: Checkout
169169
uses: actions/checkout@v4
170-
- name: Install Node.js 20.x
170+
- name: Install Node.js 22.x
171171
uses: actions/setup-node@v4
172172
with:
173-
node-version: 20.x
173+
node-version: 22.x
174174
- name: Restore lerna
175175
uses: actions/cache@v4
176176
with:

.github/workflows/publish.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ jobs:
2626
# override: true # this is by default on
2727
rustflags: ""
2828
components: rustfmt
29-
- name: Install Node.js 20.x
29+
- name: Install Node.js 22.x
3030
uses: actions/setup-node@v4
3131
with:
32-
node-version: 20.x
32+
node-version: 22.x
3333
- name: Get yarn cache directory path
3434
id: yarn-cache-dir-path
3535
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
@@ -73,7 +73,7 @@ jobs:
7373
name: Build native Linux ${{ matrix.node-version }} ${{ matrix.target }} Python ${{ matrix.python-version }}
7474
strategy:
7575
matrix:
76-
node-version: [20]
76+
node-version: [22]
7777
python-version: ["3.9", "3.10", "3.11", "3.12", "fallback"]
7878
target: ["x86_64-unknown-linux-gnu", "aarch64-unknown-linux-gnu"]
7979
include:
@@ -152,7 +152,7 @@ jobs:
152152
name: Build ${{ matrix.os-version }} ${{ matrix.target }} ${{ matrix.node-version }} Python ${{ matrix.python-version }}
153153
strategy:
154154
matrix:
155-
node-version: [20.x]
155+
node-version: [22.x]
156156
os-version: ["macos-13"]
157157
target: ["x86_64-apple-darwin", "aarch64-apple-darwin"]
158158
python-version: ["3.9", "3.10", "3.11", "3.12", "fallback"]
@@ -240,7 +240,7 @@ jobs:
240240
name: Build ${{ matrix.os-version }} ${{ matrix.node-version }} Python ${{ matrix.python-version }}
241241
strategy:
242242
matrix:
243-
node-version: [20.x]
243+
node-version: [22.x]
244244
python-version: ["fallback"]
245245
os-version: [windows-2019]
246246
include:

.github/workflows/push.yml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ jobs:
5454
strategy:
5555
matrix:
5656
# Current docker version + next LTS
57-
node-version: [20.x, 22.x]
57+
# TODO: Add 24 after it's been released
58+
node-version: [22.x]
5859
# Don't forget to update build-native-release
5960
python-version: [3.11]
6061
transpile-worker-threads: [false, true]
@@ -116,6 +117,7 @@ jobs:
116117
run: yarn lerna run --concurrency 1 --stream --no-prefix unit
117118
- name: Upload coverage reports to Codecov
118119
uses: codecov/codecov-action@v5
120+
if: (matrix.node-version == '22.x')
119121
with:
120122
token: ${{ secrets.CODECOV_TOKEN }}
121123
files: ./packages/*/coverage/*
@@ -139,10 +141,10 @@ jobs:
139141
# override: true # this is by default on
140142
rustflags: ""
141143
components: rustfmt
142-
- name: Install Node.js 20.x
144+
- name: Install Node.js 22.x
143145
uses: actions/setup-node@v4
144146
with:
145-
node-version: 20.x
147+
node-version: 22.x
146148
- name: Get yarn cache directory path
147149
id: yarn-cache-dir-path
148150
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
@@ -274,10 +276,10 @@ jobs:
274276
workspaces: ./packages/cubejs-backend-native
275277
key: native-${{ runner.OS }}-x86_64-unknown-linux-gnu
276278
shared-key: native-${{ runner.OS }}-x86_64-unknown-linux-gnu
277-
- name: Install Node.js 20
279+
- name: Install Node.js 22
278280
uses: actions/setup-node@v4
279281
with:
280-
node-version: 20
282+
node-version: 22
281283
- name: Install Yarn
282284
run: npm install -g yarn
283285
- name: Set Yarn version
@@ -306,7 +308,7 @@ jobs:
306308

307309
strategy:
308310
matrix:
309-
node-version: [20.x]
311+
node-version: [22.x]
310312
fail-fast: false
311313

312314
steps:
@@ -394,7 +396,7 @@ jobs:
394396

395397
strategy:
396398
matrix:
397-
node-version: [20.x]
399+
node-version: [22.x]
398400
db: [
399401
'clickhouse', 'druid', 'elasticsearch', 'mssql', 'mysql', 'postgres', 'prestodb',
400402
'mysql-aurora-serverless', 'crate', 'mongobi', 'firebolt', 'dremio', 'vertica'
@@ -481,7 +483,7 @@ jobs:
481483

482484
strategy:
483485
matrix:
484-
node-version: [ 20.x ]
486+
node-version: [ 22.x ]
485487
python-version: [ 3.11 ]
486488
fail-fast: false
487489

@@ -609,7 +611,7 @@ jobs:
609611
- 5000:5000
610612
strategy:
611613
matrix:
612-
node-version: [ 20 ]
614+
node-version: [ 22 ]
613615
target: [ "x86_64-unknown-linux-gnu" ]
614616
dockerfile:
615617
- dev.Dockerfile

.github/workflows/rust-cubesql.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -113,13 +113,15 @@ jobs:
113113
strategy:
114114
matrix:
115115
# Current used version + 1 LTS
116-
node-version: [20, 22]
116+
# TODO: Add 24 after it's been released (don't forget to uncomment excludes below!)
117+
node-version: [22]
117118
python-version: ["3.9", "3.10", "3.11", "3.12", "fallback"]
118119
target: ["x86_64-unknown-linux-gnu", "aarch64-unknown-linux-gnu"]
119120
# minimize number of jobs
120121
exclude:
121-
- node-version: 20
122-
target: "aarch64-unknown-linux-gnu"
122+
# TODO: uncomment after adding v24
123+
# - node-version: 22
124+
# target: "aarch64-unknown-linux-gnu"
123125
- python-version: 3.10
124126
target: "aarch64-unknown-linux-gnu"
125127
- python-version: 3.11
@@ -216,7 +218,7 @@ jobs:
216218
strategy:
217219
matrix:
218220
# We do not need to test under all versions, we do it under linux
219-
node-version: [20.x]
221+
node-version: [22.x]
220222
os-version: ["macos-13"]
221223
target: ["x86_64-apple-darwin", "aarch64-apple-darwin"]
222224
include:
@@ -309,7 +311,7 @@ jobs:
309311
strategy:
310312
matrix:
311313
# We do not need to test under all versions, we do it under linux
312-
node-version: [20.x]
314+
node-version: [22.x]
313315
os-version: [windows-2019]
314316
python-version: ["fallback"]
315317
fail-fast: false

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20.19.0
1+
22.14.0

DEPRECATION.md

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,9 @@ features:
6363
| Removed | [MySQL-based SQL API](#mysql-based-sql-api) | v0.35.0 | v0.35.0 |
6464
| Removed | [`initApp` hook](#initapp-hook) | v0.35.0 | v0.35.0 |
6565
| Removed | [`/v1/run-scheduled-refresh` REST API endpoint](#v1run-scheduled-refresh-rest-api-endpoint) | v0.35.0 | v0.36.0 |
66-
| Deprecated | [Node.js 18](#nodejs-18) | v0.36.0 | |
67-
| Deprecated | [`CUBEJS_SCHEDULED_REFRESH_CONCURRENCY`](#cubejs_scheduled_refresh_concurrency) | v1.2.7 | |
66+
| Removed | [Node.js 18](#nodejs-18) | v0.36.0 | v1.3.0 |
67+
| Deprecated | [`CUBEJS_SCHEDULED_REFRESH_CONCURRENCY`](#cubejs_scheduled_refresh_concurrency) | v1.2.7 | |
68+
| Deprecated | [Node.js 20](#nodejs-20) | v1.3.0 | |
6869

6970
### Node.js 8
7071

@@ -397,4 +398,17 @@ no more updates. Please upgrade to Node.js 20 or higher.
397398
398399
**Deprecated in Release: v1.2.7**
399400
400-
This environment variable was renamed to [`CUBEJS_SCHEDULED_REFRESH_QUERIES_PER_APP_ID`](https://cube.dev/docs/reference/configuration/environment-variables#cubejs_scheduled_refresh_queries_per_app_id). Please use the new name.
401+
This environment variable was renamed to [`CUBEJS_SCHEDULED_REFRESH_QUERIES_PER_APP_ID`](https://cube.dev/docs/reference/configuration/environment-variables#cubejs_scheduled_refresh_queries_per_app_id). Please use the new name.
402+
403+
### Node.js 18
404+
405+
**Removed in Release: v1.3.0**
406+
407+
[link-nodejs-eol]: https://github.com/nodejs/Release#end-of-life-releases
408+
409+
### Node.js 20
410+
411+
**Deprecated in Release: v1.3.0**
412+
413+
Node.js 20 is in maintenance mode from [November 22, 2024][link-nodejs-eol]. This means
414+
no more new features, only security updates. Please upgrade to Node.js 22 or higher.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
"resolutions": {
6767
"es5-ext": "0.10.53",
6868
"lodash": "^4.17.0",
69-
"@types/node": "^18",
69+
"@types/node": "^20",
7070
"@types/ramda": "0.27.40",
7171
"thrift": "0.20.0"
7272
},

0 commit comments

Comments
 (0)