Skip to content

Commit f7e2bc9

Browse files
committed
CI: Run tests with minimum dependencies on the newest and oldest node.js
1 parent 9c34987 commit f7e2bc9

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

.circleci/config.yml

+27
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,19 @@ workflows:
99
jobs:
1010
- check-coding-style
1111
- node-v12
12+
- node-v12:
13+
name: node-v12-min-dependencies
14+
min_dependencies: true
1215
- node-v14
1316
- node-v16
1417
- node-v18
1518
- node-v20
1619
- node-v22
1720
- node-current:
1821
run_coveralls: true
22+
- node-current:
23+
name: node-current-min-dependencies
24+
min_dependencies: true
1925
- build-package
2026
- hardhat-sample-project: *requires_package
2127
- cli-smoke-test: *requires_package
@@ -168,10 +174,31 @@ jobs:
168174
run_coveralls:
169175
type: boolean
170176
default: false
177+
min_dependencies:
178+
description: "Install the oldest dependencies still matching ranges specified in package.json"
179+
type: boolean
180+
default: false
171181
steps:
172182
# We want the default npm here. Older one might not work with older node.js
173183
- show-npm-version
174184
- checkout
185+
- when:
186+
condition: <<parameters.min_dependencies>>
187+
steps:
188+
- run:
189+
name: Install the semver utility
190+
command: |
191+
# NOTE: Newer cimg/node images require sudo here, older don't. Try both.
192+
sudo npm install semver --global || npm install semver --global
193+
- run:
194+
name: Force oldest supported dependency versions in package.json
195+
command: |
196+
min_package_json=$(.circleci/package-json-with-min-dependencies.sh)
197+
echo "$min_package_json" > package.json
198+
- run:
199+
name: "Show selected dependency versions"
200+
command: |
201+
jq 'with_entries(select(.key == "dependencies" or .key == "devDependencies"))' package.json --indent 4
175202
- install-dependencies:
176203
cache-id: solc-js
177204
- run:

0 commit comments

Comments
 (0)