Skip to content

Commit 727cc1f

Browse files
authored
ci(NODE-6561): run on matrix of supported node versions (#214)
1 parent 30b48eb commit 727cc1f

File tree

3 files changed

+85
-6
lines changed

3 files changed

+85
-6
lines changed

.evergreen/config.yml

Lines changed: 80 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ functions:
3939
- '.evergreen/run-tests.sh'
4040
env:
4141
PROJECT_DIRECTORY: ${PROJECT_DIRECTORY}
42+
NODE_LTS_VERSION: ${NODE_LTS_VERSION}
4243
run tests ubuntu:
4344
- command: subprocess.exec
4445
type: test
@@ -47,6 +48,7 @@ functions:
4748
working_dir: src
4849
env:
4950
PROJECT_DIRECTORY: ${PROJECT_DIRECTORY}
51+
NODE_LTS_VERSION: ${NODE_LTS_VERSION}
5052
PROJECT: ${project}
5153
GYP_DEFINES: ${GYP_DEFINES|}
5254
args:
@@ -64,6 +66,10 @@ functions:
6466
- DRIVERS_TOOLS=/drivers-tools
6567
- '--env'
6668
- GYP_DEFINES
69+
- '--env'
70+
- NODE_LTS_VERSION=${NODE_LTS_VERSION}
71+
- '--env'
72+
- NPM_VERSION=${NPM_VERSION}
6773
- 'ubuntu:22.04'
6874
- /bin/bash
6975
- /app/.evergreen/run-tests-ubuntu.sh
@@ -114,23 +120,93 @@ tasks:
114120
- func: run prebuild
115121

116122
buildvariants:
117-
- name: ubuntu2204-64
118-
display_name: 'Ubuntu 22.04 64-bit'
123+
- name: ubuntu2204-x64-node-16
124+
display_name: 'Ubuntu 22.04 x64 - Node 16'
125+
run_on: ubuntu2204-small
126+
expansions:
127+
has_packages: true
128+
packager_distro: ubuntu2204
129+
packager_arch: x86_64
130+
NODE_LTS_VERSION: "16"
131+
NPM_VERSION: "9"
132+
tasks:
133+
- run-tests-ubuntu
134+
- run-tests-ubuntu-rtld
135+
- name: ubuntu2204-x64-node-18
136+
display_name: 'Ubuntu 22.04 x64 - Node 18'
137+
run_on: ubuntu2204-small
138+
expansions:
139+
has_packages: true
140+
packager_distro: ubuntu2204
141+
packager_arch: x86_64
142+
NODE_LTS_VERSION: "18"
143+
tasks:
144+
- run-tests-ubuntu
145+
- run-tests-ubuntu-rtld
146+
- name: ubuntu2204-x64-node-20
147+
display_name: 'Ubuntu 22.04 x64 - Node 20'
148+
run_on: ubuntu2204-small
149+
expansions:
150+
has_packages: true
151+
packager_distro: ubuntu2204
152+
packager_arch: x86_64
153+
NODE_LTS_VERSION: "20"
154+
tasks:
155+
- run-tests-ubuntu
156+
- run-tests-ubuntu-rtld
157+
- name: ubuntu2204-x64-node-22
158+
display_name: 'Ubuntu 22.04 x64 - Node 22'
119159
run_on: ubuntu2204-small
120160
expansions:
121161
has_packages: true
122162
packager_distro: ubuntu2204
123163
packager_arch: x86_64
164+
NODE_LTS_VERSION: "22"
165+
tasks:
166+
- run-tests-ubuntu
167+
- run-tests-ubuntu-rtld
168+
- name: ubuntu2204-arm64-node-16
169+
display_name: 'Ubuntu 22.04 arm64 - Node 16'
170+
run_on: ubuntu2204-arm64-small
171+
expansions:
172+
has_packages: true
173+
packager_distro: ubuntu2204
174+
packager_arch: arm64
175+
NODE_LTS_VERSION: "16"
176+
NPM_VERSION: "9"
177+
tasks:
178+
- run-tests-ubuntu
179+
- run-tests-ubuntu-rtld
180+
- name: ubuntu2204-arm64-node-18
181+
display_name: 'Ubuntu 22.04 arm64 - Node 18'
182+
run_on: ubuntu2204-arm64-small
183+
expansions:
184+
has_packages: true
185+
packager_distro: ubuntu2204
186+
packager_arch: arm64
187+
NODE_LTS_VERSION: "18"
188+
tasks:
189+
- run-tests-ubuntu
190+
- run-tests-ubuntu-rtld
191+
- name: ubuntu2204-arm64-node-20
192+
display_name: 'Ubuntu 22.04 arm64 - Node 20'
193+
run_on: ubuntu2204-arm64-small
194+
expansions:
195+
has_packages: true
196+
packager_distro: ubuntu2204
197+
packager_arch: arm64
198+
NODE_LTS_VERSION: "20"
124199
tasks:
125200
- run-tests-ubuntu
126201
- run-tests-ubuntu-rtld
127-
- name: ubuntu2204-arm64
128-
display_name: 'Ubuntu 22.04 arm64'
202+
- name: ubuntu2204-arm64-node-22
203+
display_name: 'Ubuntu 22.04 arm64 - Node 22'
129204
run_on: ubuntu2204-arm64-small
130205
expansions:
131206
has_packages: true
132207
packager_distro: ubuntu2204
133208
packager_arch: arm64
209+
NODE_LTS_VERSION: "22"
134210
tasks:
135211
- run-tests-ubuntu
136212
- run-tests-ubuntu-rtld

.evergreen/install-dependencies.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ export NODE_LTS_VERSION=${NODE_LTS_VERSION:-14}
1010
# a version lower than latest to support EOL Node versions.
1111
export NPM_VERSION=${NPM_VERSION:-latest}
1212

13+
echo "Installing Node.js $NODE_LTS_VERSION with npm@$NPM_VERSION"
14+
1315
source $DRIVERS_TOOLS/.evergreen/install-node.sh
1416

1517
npm install --build-from-source

.evergreen/run-tests-ubuntu.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ export KERBEROS_PORT="80"
1414
export KERBEROS_HOSTNAME=$HOSTNAME.$KERBEROS_REALM
1515
export DEBIAN_FRONTEND=noninteractive
1616

17+
export NODE_LTS_VERSION=$NODE_LTS_VERSION
18+
1719
echo "Installing all the packages required in this test"
1820
apt-get update
1921
apt-get -y -qq install \
@@ -123,8 +125,7 @@ else
123125
echo -e "SUCCESS: Apache site built and set for Kerberos auth\nActual Output:\n$CURL_OUTPUT"
124126
fi
125127

126-
echo "Run: install Node.js 20"
127-
export NODE_LTS_VERSION=20
128+
echo "Run: install Node.js"
128129
source "${PROJECT_DIRECTORY}/.evergreen/install-dependencies.sh"
129130

130131
npm test

0 commit comments

Comments
 (0)