Skip to content

Commit bcb0947

Browse files
authored
feat: Change minimum version to nodejs 24, which is the oldest active version (#565)
1 parent 55e3f5d commit bcb0947

6 files changed

Lines changed: 1402 additions & 2512 deletions

File tree

.github/workflows/tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
name: Unit tests
3131
strategy:
3232
matrix:
33-
node-version: [18, 20, 22]
33+
node-version: [24, 26]
3434
os: [ubuntu-latest, macos-latest, windows-latest]
3535
fail-fast: false
3636

@@ -108,7 +108,7 @@ jobs:
108108
(github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]')
109109
strategy:
110110
matrix:
111-
node-version: [18, 20, 22]
111+
node-version: [24, 26]
112112
os: [ubuntu-latest, macos-latest, windows-latest]
113113
fail-fast: false
114114
permissions:
@@ -250,7 +250,7 @@ jobs:
250250
- name: Setup Node.js
251251
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
252252
with:
253-
node-version: 22
253+
node-version: 24
254254

255255
- name: Install dependencies
256256
run: npm ci

.prettierrc.js

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
// Copyright 2026 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// https://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
115
module.exports = {
2-
...require('gts/.prettierrc.json')
3-
}
16+
...require('gts/.prettierrc.json'),
17+
};

build.sh

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,21 @@ function lint() {
6868

6969
## deps - updates project dependencies to latest
7070
function deps() {
71+
version=${1:-24}
72+
73+
# Use NVM
74+
if [[ ! -d "$NVM_DIR" ]] ; then
75+
echo "Please activate nvm"
76+
exit 1
77+
fi
78+
79+
# Use the minimum node version to run the updates.
80+
source "$NVM_DIR/nvm.sh"
81+
nvm use $version
82+
7183
npm update --save
72-
# When we run this on a cloudtop, the urls in package-lock.json are replaced
73-
# with an internal server. We need to manually update package-lock.json
84+
# When we run this on a cloudtop, the urls in package-lock.json are replaced
85+
# with an internal server. We need to manually update package-lock.json
7486
# to set them back to https://registry.npmjs.org/
7587
if [[ "$OSTYPE" == "darwin"* ]]; then
7688
sed -i '' "s|https://us-npm.pkg.dev/artifact-foundry-prod/ah-3p-staging-npm/|https://registry.npmjs.org/|g" package-lock.json
@@ -79,6 +91,22 @@ function deps() {
7991
fi
8092
}
8193

94+
## test_node_versions deps uses nvm to run the test against all
95+
function test_deps() {
96+
source "$HOME/.nvm/nvm.sh"
97+
98+
for v in 24 26 ; do
99+
echo
100+
echo "*"
101+
echo "* Running tests with node v$v"
102+
echo "*"
103+
nvm use $v
104+
rm -rf "$SCRIPT_DIR/node_modules"
105+
npm ci
106+
npm run test
107+
done
108+
}
109+
82110
# write_e2e_env - Loads secrets from the gcloud project and writes
83111
# them to target/e2e.env to run e2e tests.
84112
function write_e2e_env(){

0 commit comments

Comments
 (0)