Skip to content

Commit 06fdfd0

Browse files
committed
CI: Run tests with minimum dependencies on the newest and oldest node.js
1 parent e9cd1ec commit 06fdfd0

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

.circleci/config.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,18 @@ 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-current:
1720
run_coveralls: true
21+
- node-current:
22+
name: node-current-min-dependencies
23+
min_dependencies: true
1824
- build-package
1925
- hardhat-sample-project: *requires_package
2026
- cli-smoke-test: *requires_package
@@ -167,10 +173,31 @@ jobs:
167173
run_coveralls:
168174
type: boolean
169175
default: false
176+
min_dependencies:
177+
description: "Install the oldest dependencies still matching ranges specified in package.json"
178+
type: boolean
179+
default: false
170180
steps:
171181
# We want the default npm here. Older one might not work with older node.js
172182
- show-npm-version
173183
- checkout
184+
- when:
185+
condition: <<parameters.min_dependencies>>
186+
steps:
187+
- run:
188+
name: Install the semver utility
189+
command: |
190+
# NOTE: Newer cimg/node images require sudo here, older don't. Try both.
191+
sudo npm install semver --global || npm install semver --global
192+
- run:
193+
name: Force oldest supported dependency versions in package.json
194+
command: |
195+
min_package_json=$(.circleci/package-json-with-min-dependencies.sh)
196+
echo "$min_package_json" > package.json
197+
- run:
198+
name: "Show selected dependency versions"
199+
command: |
200+
jq 'with_entries(select(.key == "dependencies" or .key == "devDependencies"))' package.json --indent 4
174201
- install-dependencies:
175202
cache-id: solc-js
176203
- run:

0 commit comments

Comments
 (0)