Skip to content

Commit 9b8025f

Browse files
feat(NODE-7007)!: remove support for node 16 and 18 (#80)
Co-authored-by: Bailey Pearson <bailey.pearson@mongodb.com>
1 parent 9667b75 commit 9b8025f

File tree

9 files changed

+92
-108
lines changed

9 files changed

+92
-108
lines changed

.eslintrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"es6": true
1313
},
1414
"parserOptions": {
15-
"ecmaVersion": 2019
15+
"ecmaVersion": 2023
1616
},
1717
"plugins": ["@typescript-eslint", "prettier"],
1818
"rules": {

.github/docker/Dockerfile.glibc

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
ARG UBUNTU_VERSION=bionic
2-
FROM ubuntu:${UBUNTU_VERSION} AS build
3-
4-
ARG NODE_VERSION=16.20.1
1+
FROM ubuntu:noble AS build
2+
ARG NODE_VERSION=20.19.3
53
# Possible values: s390x, arm64, x64
64
ARG NODE_ARCH
75
ADD https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-${NODE_ARCH}.tar.gz /

.github/docker/Dockerfile.musl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
ARG PLATFORM=arm64
3-
ARG NODE_VERSION=16.20.1
3+
ARG NODE_VERSION=20.19.0
44

55
FROM ${PLATFORM}/node:${NODE_VERSION}-alpine AS build
66

.github/workflows/build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616

1717
- uses: actions/setup-node@v4
1818
with:
19-
node-version: 16.20.1
19+
node-version: 20.x
2020
cache: "npm"
2121
registry-url: "https://registry.npmjs.org"
2222

@@ -63,7 +63,7 @@ jobs:
6363
docker buildx build \
6464
--platform linux/${{ matrix.linux_arch }} \
6565
--build-arg="NODE_ARCH=${{ matrix.linux_arch == 'amd64' && 'x64' || matrix.linux_arch }}" \
66-
--build-arg="NODE_VERSION=16.20.1" \
66+
--build-arg="NODE_VERSION=20.19.0" \
6767
--output type=local,dest=./prebuilds,platform-split=false \
6868
-f ./.github/docker/Dockerfile.glibc \
6969
.
@@ -103,7 +103,7 @@ jobs:
103103
docker --debug buildx build --progress=plain --no-cache \
104104
--platform linux/${{ matrix.linux_arch }} \
105105
--build-arg="PLATFORM=${{ matrix.linux_arch == 'arm64' && 'arm64v8' || matrix.linux_arch }}" \
106-
--build-arg="NODE_VERSION=16.20.1" \
106+
--build-arg="NODE_VERSION=20.19.0" \
107107
--output type=local,dest=./prebuilds,platform-split=false \
108108
-f ./.github/docker/Dockerfile.musl \
109109
.

.github/workflows/test.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
strategy:
1313
matrix:
1414
os: [macos-latest, windows-2022, macos-13]
15-
node: [16.20.1, 18.x, 20.x, 22.x]
15+
node: [20.19.0, 22.x, 24.x]
1616
fail-fast: false
1717
runs-on: ${{ matrix.os }}
1818
steps:
@@ -41,7 +41,7 @@ jobs:
4141
strategy:
4242
matrix:
4343
linux_arch: [s390x, arm64, amd64]
44-
node: [16.x, 18.x, 20.x, 22.x]
44+
node: [20.19.0, 22.x, 24.x]
4545
fail-fast: false
4646
steps:
4747
- uses: actions/checkout@v5
@@ -55,7 +55,6 @@ jobs:
5555
shell: bash
5656
run: |
5757
echo "version=$(node --print 'process.version.slice(1)')" >> "$GITHUB_OUTPUT"
58-
echo "ubuntu_version=$(node --print '(+process.version.slice(1).split(`.`).at(0)) > 16 ? `noble` : `bionic`')" >> "$GITHUB_OUTPUT"
5958
6059
- name: Set up QEMU
6160
uses: docker/setup-qemu-action@v3
@@ -70,7 +69,6 @@ jobs:
7069
--platform linux/${{ matrix.linux_arch }} \
7170
--build-arg="NODE_ARCH=${{ matrix.linux_arch == 'amd64' && 'x64' || matrix.linux_arch }}" \
7271
--build-arg="NODE_VERSION=${{ steps.get_nodejs_version.outputs.version }}" \
73-
--build-arg="UBUNTU_VERSION=${{ steps.get_nodejs_version.outputs.ubuntu_version }}" \
7472
--build-arg="RUN_TEST=true" \
7573
--output type=local,dest=./prebuilds,platform-split=false \
7674
-f ./.github/docker/Dockerfile.glibc \
@@ -81,7 +79,7 @@ jobs:
8179
strategy:
8280
matrix:
8381
linux_arch: [amd64, arm64]
84-
node: [16.20.1, 18.x, 20.x, 22.x]
82+
node: [20.19.0, 22.x, 24.x]
8583
fail-fast: false
8684
steps:
8785
- uses: actions/checkout@v5

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ Only the following version combinations with the [MongoDB Node.js Driver](https:
5858
Below are the platforms that are available as prebuilds on each github release.
5959
`prebuild-install` downloads these automatically depending on the platform you are running npm install on.
6060

61-
- Linux GLIBC 2.23 or later
61+
- Linux GLIBC 2.28 or later
6262
- s390x
6363
- arm64
6464
- x64

etc/docker.sh

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
# amd64 or arm64v8 for alpine
88
LINUX_ARCH=arm64
99

10-
# 16.20.1+, default 16.20.1
11-
NODE_VERSION=18.0.0
10+
NODE_VERSION=20.19.0
1211

1312
SCRIPT_DIR=$(dirname ${BASH_SOURCE:-$0})
1413
PROJECT_DIR=$SCRIPT_DIR/..
@@ -28,14 +27,11 @@ build_and_test_musl() {
2827
build_and_test_glibc() {
2928
docker buildx create --name builder --bootstrap --use
3029

31-
UBUNTU_VERSION=ubuntu_version=$(node --print '(process.argv[1].slice(1).split(`.`).at(0)) > 16 ? `noble` : `bionic`' $NODE_VERSION)
3230
NODE_ARCH=$(node -p 'process.argv[1] === `amd64` && `x64` || process.argv[1]' $LINUX_ARCH)
33-
echo $UBUNTU_VERSION
3431
docker buildx build --progress=plain --no-cache \
3532
--platform linux/$LINUX_ARCH \
3633
--build-arg="NODE_ARCH=$NODE_ARCH" \
3734
--build-arg="NODE_VERSION=$NODE_VERSION" \
38-
--build-arg="UBUNTU_VERSION$UBUNTU_VERSION" \
3935
--build-arg="RUN_TEST=true" \
4036
--output type=local,dest=./prebuilds,platform-split=false \
4137
-f ./.github/docker/Dockerfile.glibc \

0 commit comments

Comments
 (0)