Skip to content

Commit 95b79a6

Browse files
authored
Merge pull request #737 from ethereum/fix-pnpm-lockfile
Fix pnpm broken lockfile
2 parents d61cd57 + 40a39ac commit 95b79a6

File tree

1 file changed

+6
-13
lines changed

1 file changed

+6
-13
lines changed

.circleci/config.yml

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,6 @@ commands:
6262
name: Install pnpm
6363
command: sudo npm install -g pnpm
6464

65-
update-npm:
66-
steps:
67-
- run:
68-
name: Update globally available npm to the latest version
69-
# Note: We need npm >= 8.3 which supports 'overrides' in package.json
70-
command: sudo npm update npm --location=global
71-
7265
install-dependencies:
7366
parameters:
7467
cache-id:
@@ -85,22 +78,22 @@ commands:
8578
steps:
8679
- restore_cache:
8780
name: "Restoring <<parameters.cache-id>> cache"
88-
key: <<parameters.cache-id>>-dependency-cache-v4-{{ .Environment.CIRCLE_JOB }}-{{ checksum "<<parameters.path>>/<<parameters.dependency-file>>" }}
81+
key: <<parameters.cache-id>>-dependency-cache-v5-{{ .Environment.CIRCLE_JOB }}-{{ checksum "<<parameters.path>>/<<parameters.dependency-file>>" }}
8982
- run:
9083
name: "<<parameters.package-manager>> install in <<parameters.path>>"
9184
command: |
9285
cd "<<parameters.path>>"
9386
if [[ ! -e node_modules/ ]]; then
9487
if [[ "<<parameters.package-manager>>" == "pnpm" ]]; then
9588
# Create a flat node_modules without symlinks. Same as the node_modules created by npm or Yarn.
96-
<<parameters.package-manager>> install --node-linker=hoisted
89+
<<parameters.package-manager>> install --no-frozen-lockfile --node-linker=hoisted
9790
else
9891
<<parameters.package-manager>> install
9992
fi
10093
fi
10194
- save_cache:
10295
name: "Saving <<parameters.cache-id>> cache"
103-
key: <<parameters.cache-id>>-dependency-cache-v4-{{ .Environment.CIRCLE_JOB }}-{{ checksum "<<parameters.path>>/<<parameters.dependency-file>>" }}
96+
key: <<parameters.cache-id>>-dependency-cache-v5-{{ .Environment.CIRCLE_JOB }}-{{ checksum "<<parameters.path>>/<<parameters.dependency-file>>" }}
10497
paths:
10598
- "<<parameters.path>>/node_modules/"
10699

@@ -134,7 +127,7 @@ commands:
134127
if [[ "<<parameters.package-manager>>" == "pnpm" ]]; then
135128
<<parameters.package-manager>> install --no-frozen-lockfile --node-linker=hoisted
136129
else
137-
<<parameters.package-manager>> install --no-frozen-lockfile
130+
<<parameters.package-manager>> install
138131
fi
139132
- run:
140133
name: "Sanity check: all transitive dependencies successfully replaced with the tarball"
@@ -276,7 +269,7 @@ jobs:
276269
# The install command is required again here to create the correct symlinks under the hardhat-core/node_modules
277270
# In our case that is something like: solc -> ../../../node_modules/.pnpm/file+..+solc-js.tgz/node_modules/solc
278271
# See: https://pnpm.io/symlinked-node-modules-structure
279-
pnpm install
272+
pnpm install --no-frozen-lockfile
280273
# TODO: temporarily set hardhat stack traces tests to use cancun hardfork
281274
# Remove this when hardhat switch to cancun by default: https://github.com/NomicFoundation/hardhat/issues/4851
282275
sed -i 's/hardfork: "shanghai",/hardfork: "cancun",/' test/internal/hardhat-network/stack-traces/execution.ts
@@ -300,7 +293,7 @@ jobs:
300293
export HARDHAT_TESTS_SOLC_PATH HARDHAT_TESTS_SOLC_VERSION
301294
302295
cd packages/hardhat-core/
303-
pnpm install
296+
pnpm install --no-frozen-lockfile
304297
# TODO: temporarily set hardhat stack traces tests to use cancun hardfork
305298
# Remove this when hardhat switch to cancun by default: https://github.com/NomicFoundation/hardhat/issues/4851
306299
sed -i 's/hardfork: "shanghai",/hardfork: "cancun",/' test/internal/hardhat-network/stack-traces/execution.ts

0 commit comments

Comments
 (0)