Repository navigation
ci: run E2E shards on Depot with live RPC through the Tempo API - #994
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Member
Author
|
Blocked on the RPC relay, not on Depot. The keyed Moderato relay applies the same per-IP connection limit as the public RPC: a burst of 60 from one runner got ~19 429s on both. So the key doesn't help Depot's shared IPs. With the key, live tests also failed on GitHub runners, because #984's Node proxy opens many connections (#995 stops passing it). Details: #984 (comment). Undraft once the relay limits keyed traffic per key. |
TEMPO_RPC_API_KEY is now configured, so live tests reach Moderato through an authenticated relay instead of the anonymous per-IP pool that Depot's shared egress IPs exhausted. The shards move to the same 8-core Depot runners as the build and run six Playwright workers. Co-Authored-By: Liam Horne <[email protected]> Co-Authored-By: Claude Opus 5.5 <[email protected]>
#984 appended TEMPO_RPC_API_KEY to rpc.moderato.tempo.xyz, but that load balancer does not know Tempo API keys. Requests counted as anonymous and hit the per-IP connection limit, and from one IP the Node proxy's many connections broke live tests even on GitHub runners. api.tempo.xyz/rpc/:chainId takes the key as a Bearer token with the `data:read` scope and reaches Moderato as an authenticated client, which the per-IP limit does not apply to. From one runner it served 180 concurrent requests without a 429; the public RPC rejected 123. The Verify workflow passes the key to Playwright again. Co-Authored-By: Liam Horne <[email protected]> Co-Authored-By: Claude Opus 5.5 <[email protected]>
snario
force-pushed
the
claude/e2e-shards-on-depot
branch
from
October 14, 2026 18:49
321e4d1 to
a44c808
Compare
snario
marked this pull request as ready for review
October 14, 2026 18:49
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Moves the E2E shards to Depot, the last step toward ~3 min E2E checks.
Live tests failed on Depot because Moderato's load balancer (
tempoxyz/orchestra) limits concurrent connections per IP for anonymous requests, and Depot shares egress IPs. #984 appendedTEMPO_RPC_API_KEYtorpc.moderato.tempo.xyz/<key>, but orchestra doesn't know Tempo API keys. Those requests still counted as anonymous, and the Node proxy's extra connections made them fail even on GitHub runners (#995 turned the key off).Fix: forward live-test RPC to
https://api.tempo.xyz/rpc/42431withAuthorization: Bearer <key>. That route (scopedata:read) proxies to orchestra with an orchestra client credential, and orchestra exempts authenticated clients from the per-IP limit.Probe from one GitHub runner:
Through the proxy, a faucet receipt appeared in ~1s and balances matched the public RPC.
e2e/rpc.ts: forward to the API proxy with a Bearer header.rpc-auth.test.tsfollows.verify.yml: passTEMPO_RPC_API_KEYagain; shards run ondepot-ubuntu-latest-8with 6 workers.data:read. The existing key (tempoxyz/docs live E2E (Moderato RPC)) was switched to that scope; the token didn't change.Fork PRs don't get the secret, so their live tests use the public RPC.
Co-Authored-By: Liam Horne [email protected]
🤖 Generated with Claude Code
Prompted by: Liam