-
Notifications
You must be signed in to change notification settings - Fork 36
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Problem
The dev-test-on-pr and prod-test-on-pr workflows run simultaneously when triggered by pull requests, causing resource conflicts that lead to test timeouts and failures.
Root Cause
Both workflows:
- Run on the same network: Both use Sepolia network (dev environment uses Sepolia, prod matrix includes Sepolia)
- Use the same smart wallet addresses: Both use salt 0 for consistent pre-funded wallet addresses
- Compete for the same resources: Bundler service, RPC endpoints, and smart wallet nonce management
- Run concurrently: Both are triggered by pull_request events
Evidence
From recent test runs:
- Successful run: Tests passed when running in isolation
- Failed run: Same commit, same configuration, but failed due to timeouts when running concurrently
- Same transaction hashes: Both workflows generated identical userOpHash and transactionHash, indicating nonce conflicts
Immediate Fix Applied
- Temporarily disabled pull_request trigger in prod-test-on-pr.yml
- Kept workflow_dispatch for manual- Kept workflow_dispatch for manual- Kept workflow_dispatch for manual- Kept workflow_dispatch for manual- Kept workflow_dispatch for manual- Kept workflow_dispatcpolia
- Prod: Use mainnet/base for pro- Prod: Use mainnet/base for pro- Prod: Use mainnet/base for pro- Prod: Use mainnet/basfferent workflows
- Dev workflow: salts 0-99
- Prod workflow: salts 100-199
- Ensure both ranges have pre-funded wallets
Option 3: Sequential Execution
- Add workflow dependencies to prevent concurrent runs
- Use GitHub concurrency controls
Option 4: Resource Pooling
- Create a larger pool of pre-funded test wallets
-----------------------------------------------------flicts
Current Status
- prod-test-on-pr auto-trigger disabled
- dev-test-on-pr continues to run on PRs
- Manual production testing still available via workflow_dispatch
Next Steps
- Validate that dev tests now run reliably without conflicts
- Choose and implement a long-term solution
- Re-enable production testing with proper isolation
- Document wallet funding requirements for chosen approach
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working