test: installs foundry with yarn instead of global install#29191
Conversation
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection:
These are CI pipeline consistency and reliability improvements. The Running a small representative set of tests (SmokeConfirmations + SmokeAccounts) validates that the E2E pipeline infrastructure (build + run) works correctly end-to-end after the Foundry installation refactoring and cache ordering changes. These two tags cover both iOS and Android builds and exercise core test infrastructure including fixture servers that depend on Foundry. Performance Test Selection: |
AI PR Analysis✅ Merge safe: true | 🟢 Risk: low
|
|
|
✅ E2E Fixture Validation — Schema is up to date |



Description
E2E setup was installing Anvil with the upstream foundryup script into the user’s Foundry directory and prepending that to PATH, while the repo pins Anvil through package.json and tests/seeder/anvil-manager.ts resolves node_modules/.bin/anvil when that file exists. In CI, the global install often “won” when the project-local binary was missing, so the chain did not always match local dev or the seeder’s resolved binary.
./.github/actions/setup-e2e-env: Replace the global Foundry/curl foundryup step with yarn install:foundryup so the version and checksums come from the same package.json foundryup config as the rest of the project. Remove the foundry-version input; bump the toolchain by editing that config, not a workflow input. After install, add $GITHUB_WORKSPACE/node_modules/.bin to GITHUB_PATH so bare anvil on the runner matches the project binary.build-android-e2e/build-ios-e2e: Restore the .metamask cache before the composite E2E setup action (so mm-foundryup can reuse download cache when available) and remove the redundant “Install Foundry if cache missed” step now covered by the action.run-e2e-workflow/update-e2e-fixtures: Restore .metamask before setup-e2e-env for the same cache behavior. No foundry-version was passed in callers; no consumer updates are required for removed inputs.Changelog
CHANGELOG entry:
Related issues
Fixes: https://consensyssoftware.atlassian.net/browse/MMQA-1118
Manual testing steps
N/A
Screenshots/Recordings
N/A
Before
N/A
After
N/A
Pre-merge author checklist
Performance checks (if applicable)
trace()for usage andaddTokenfor an exampleFor performance guidelines and tooling, see the Performance Guide.
Pre-merge reviewer checklist
Note
Medium Risk
Moderate risk because it changes CI/E2E environment provisioning and PATH/caching behavior, which can break E2E runs if the Yarn-based Foundry install or cache assumptions are incorrect.
Overview
E2E CI now installs Foundry via
yarn install:foundryupinside thesetup-e2e-envcomposite action (and addsnode_modules/.bintoGITHUB_PATH), replacing the previous curl-basedfoundryupglobal install and removing thefoundry-versionaction input.The Android/iOS build, E2E run, and fixture-update workflows restore the
.metamaskcache before callingsetup-e2e-env, and drop the extra “install Foundry if cache missed” steps since installation is handled centrally by the action.Reviewed by Cursor Bugbot for commit c0d45f6. Bugbot is set up for automated code reviews on this repo. Configure here.