Skip to content

Commit ec0a993

Browse files
authored
Merge pull request #1462 from finos/1456-drop-node-20-support
chore: drop node 20 support
2 parents 758b2db + 4fa50d3 commit ec0a993

10 files changed

Lines changed: 245 additions & 164 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,13 @@ permissions:
1313
pull-requests: write
1414

1515
jobs:
16-
# Ubuntu build with MongoDB matrix (9 combinations: 3 Node × 3 MongoDB)
1716
build-ubuntu:
1817
runs-on: ubuntu-latest
1918

2019
strategy:
2120
fail-fast: false
2221
matrix:
23-
node-version: [20.x, 22.x, 24.x]
22+
node-version: [22.x, 24.x]
2423
mongodb-version: ['6.0', '7.0', '8.0']
2524

2625
steps:

.github/workflows/dependency-review.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ jobs:
2121
with:
2222
comment-summary-in-pr: always
2323
fail-on-severity: high
24-
allow-licenses: MIT, MIT-0, Apache-2.0, BSD-3-Clause, BSD-3-Clause-Clear, ISC, BSD-2-Clause, Unlicense, CC0-1.0, 0BSD, X11, MPL-2.0, MPL-1.0, MPL-1.1, MPL-2.0, OFL-1.1, Zlib, BlueOak-1.0.0, Ubuntu-font-1.0
24+
allow-licenses: MIT, MIT-0, Apache-2.0, BSD-3-Clause, BSD-3-Clause-Clear, ISC, BSD-2-Clause, Unlicense, CC0-1.0, 0BSD, X11, MPL-2.0, MPL-1.0, MPL-1.1, MPL-2.0, OFL-1.1, Zlib, BlueOak-1.0.0, Ubuntu-font-1.0, Artistic-2.0
2525
fail-on-scopes: development, runtime
2626
allow-dependencies-licenses: 'pkg:npm/caniuse-lite'

.github/workflows/e2e.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
- name: Set up Node.js
2929
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
3030
with:
31-
node-version: '20'
31+
node-version: '22'
3232
cache: 'npm'
3333

3434
- name: Install dependencies

.github/workflows/experimental-inventory-ci.yml

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

2020
strategy:
2121
matrix:
22-
node-version: [20.x]
22+
node-version: [22.x]
2323
mongodb-version: [4.4]
2424

2525
steps:

.github/workflows/lint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Code Cleanliness
33
on: [pull_request]
44

55
env:
6-
NODE_VERSION: 20
6+
NODE_VERSION: 22
77

88
permissions:
99
contents: read

CONTRIBUTING.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,14 @@ For project governance, roles, and voting procedures, see the [Governance sectio
2323

2424
## Prerequisites
2525

26-
| Tool | Version | Notes |
27-
| ---------------------------------------------------------------------------------------------------------- | ------------------------------ | --------------------------- |
28-
| [Node.js](https://nodejs.org/en/download) | 20.18.2+, 22.13.1+, or 24.0.0+ | Check with `node -v` |
29-
| [npm](https://npmjs.com/) | 8+ | Bundled with Node.js |
30-
| [Git](https://git-scm.com/downloads) | Any recent version | Must support HTTP/S |
31-
| [Docker](https://docs.docker.com/get-docker/) & [Docker Compose](https://docs.docker.com/compose/install/) | Any recent version | Required for E2E tests only |
26+
We actively support and test against the latest two LTS Node versions, currently 22 and 24. When a new LTS version rolls out (26, 28, etc.), we deprecate the oldest one.
27+
28+
| Tool | Version | Notes |
29+
| ---------------------------------------------------------------------------------------------------------- | -------------------- | --------------------------- |
30+
| [Node.js](https://nodejs.org/en/download) | 22.13.1+, or 24.0.0+ | Check with `node -v` |
31+
| [npm](https://npmjs.com/) | 8+ | Bundled with Node.js |
32+
| [Git](https://git-scm.com/downloads) | Any recent version | Must support HTTP/S |
33+
| [Docker](https://docs.docker.com/get-docker/) & [Docker Compose](https://docs.docker.com/compose/install/) | Any recent version | Required for E2E tests only |
3234

3335
## Getting Started
3436

@@ -387,7 +389,7 @@ GitProxy uses a JSON Schema ([config.schema.json](config.schema.json)) to define
387389

388390
The following checks must pass before a PR can be merged:
389391

390-
- **Unit tests**: Run across a matrix of Node.js (20, 22, 24) and MongoDB (6.0, 7.0, 8.0) versions on Ubuntu, plus a Windows build
392+
- **Unit tests**: Run across a matrix of the latest 2 Node.js (22, 24) and MongoDB (6.0, 7.0, 8.0) versions on Ubuntu, plus a Windows build
391393
- **E2E tests**: Docker-based end-to-end tests
392394
- **Cypress tests**: UI end-to-end tests
393395
- **Lint & format**: ESLint, Prettier, TypeScript type checks

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM node:20@sha256:c0280010525e13fdb12f34cdb2229f0f45e9f9cdd4b13c2e9cb8a66b791d65ca AS builder
1+
FROM node:22@sha256:b501c082306a4f528bc4038cbf2fbb58095d583d0419a259b2114b5ac53d12e9 AS builder
22

33
USER root
44

@@ -17,7 +17,7 @@ RUN npm run build-ui \
1717
&& cp config.schema.json dist/ \
1818
&& npm prune --omit=dev
1919

20-
FROM node:20@sha256:c0280010525e13fdb12f34cdb2229f0f45e9f9cdd4b13c2e9cb8a66b791d65ca AS production
20+
FROM node:22@sha256:b501c082306a4f528bc4038cbf2fbb58095d583d0419a259b2114b5ac53d12e9 AS production
2121

2222
COPY --from=builder /out/package*.json ./
2323
COPY --from=builder /out/node_modules/ /app/node_modules/

0 commit comments

Comments
 (0)