Skip to content

Commit 4c83762

Browse files
authored
Fix NPM ECDSA CI: use committed yarn.lock instead of upgrading deps (#3863)
## Summary - Fix the NPM ECDSA workflow that has been failing since October 2025 due to cross-dependency incompatibilities introduced by `yarn upgrade --exact` - Replace blind upgrade to latest `development`-tagged npm packages with `yarn install --frozen-lockfile` to use committed yarn.lock with known-compatible versions ## Root Cause The `yarn upgrade --exact` step in `npm-ecdsa.yml` pulls the latest `development`-tagged versions of `@threshold-network/solidity-contracts`, `@keep-network/random-beacon`, and `@keep-network/sortition-pools`. This creates a breaking combination: - `@threshold-network/solidity-contracts@1.3.0-dev.16` **removed** `approveApplication()` from the TokenStaking contract source (compiled ABI drops from 40+ to 35 methods) - `@keep-network/random-beacon@2.1.0-dev.18` deploy script `05_approve_random_beacon_in_token_staking.js` still **calls** `execute("TokenStaking", ..., "approveApplication", ...)` Result: `Error: No method named "approveApplication" on contract deployed as "TokenStaking"` ## Verification - Reproduced locally: `yarn upgrade --exact` + clean deploy → same failure - Confirmed with committed `yarn.lock` (`@1.3.0-dev.5` + `@2.1.0-dev.13`): deploy succeeds - This workflow was already failing on the previous run (2025-10-15) — pre-existing, not caused by #3826 ## Note on Client CI The Client workflow failure is also pre-existing (confirmed by scheduled run at `2026-02-12T01:43` before #3826 merge at `06:41`). Root causes are infrastructure issues: expired ElectrumX TLS certificates (since 2023-04-01), Infura rate limiting, and a goroutine race condition in `blockcounter.go`. Not addressed in this PR. ## Test plan - [ ] NPM ECDSA workflow passes on merge to main - [ ] Verify `yarn deploy:test --network hardhat --write true` succeeds in CI with frozen lockfile
2 parents 406d4d3 + 178dbab commit 4c83762

1 file changed

Lines changed: 2 additions & 6 deletions

File tree

.github/workflows/npm-ecdsa.yml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,8 @@ jobs:
3333
cache: "yarn"
3434
cache-dependency-path: solidity/ecdsa/yarn.lock
3535

36-
- name: Resolve latest contracts
37-
run: |
38-
yarn upgrade --exact \
39-
@keep-network/random-beacon \
40-
@keep-network/sortition-pools \
41-
@threshold-network/solidity-contracts
36+
- name: Install dependencies
37+
run: yarn install --frozen-lockfile
4238

4339
# Deploy contracts to a local network to generate deployment artifacts that
4440
# are required by dashboard and client compilation.

0 commit comments

Comments
 (0)