ci: accelerate runtime, clone, and TypeScript E2E checks#2882
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
🛡️ AI Review — Skeptic (security review)VERDICT: SAFE VERY HIGH account-age scrutiny (11-day-old account, no public repos), mitigated by repository admin permission and substantive merged CI work; no Gittensor association or author/committer mismatch; targets integration branch Static analysis covered all 29 changed files, including the latest E2E setup commit, self-hosted runner gating, trusted base-revision path classification, snapshot provenance, artifact restoration, clone orchestration, and accelerated timestamp handling. The PR does not modify FindingsNo findings. ConclusionNo malicious behavior or actionable security vulnerability was identified. 🔍 AI Review — Auditor (domain review)VERDICT: 👍 Gittensor association UNKNOWN; very new contributor account, mitigated by repository admin permission and prior merged CI work. The PR description accurately reflects the three Shield shards and five-runner peak. The overlapping open PRs concern unrelated features, and this integration-branch target has no applicable FindingsNo findings. Prior-comment reconciliation
ConclusionThe artifact provenance checks, clone checkpoint orchestration, accelerated sealing, and E2E restructuring remain consistent with the description and adequately validated. No blocking domain issues remain. |
| "type": "zombie", | ||
| "zombieSpec": { | ||
| "configPath": "./configs/zombie_node.json", | ||
| "configPath": "./configs/zombie_single_node.json", |
There was a problem hiding this comment.
[HIGH] Accelerated EVM environment has repeatable nonce races
The PR body reports that the exact combined commit failed this suite twice with nonce too low, in different tests after 75 and 87 passes. This suite still performs concurrent transactions through shared raw wallets (not every sender is protected by a single NonceManager), so moving it to the immediately sealing single-node environment has produced a reproducible required-check regression. Serialize the EVM cases/files or coordinate every shared sender's nonce, then demonstrate a clean exact-head run.
|
🔄 AI review updated — Skeptic: SAFE Auditor: 👎 |
|
|
||
| beforeAll(async () => { | ||
| api = context.papi("Node").getTypedApi(subtensor); | ||
| provider = context.ethers("EVM").provider as ethers.JsonRpcProvider; |
There was a problem hiding this comment.
[HIGH] Nonce manager does not resolve the cross-file race
This manager only coordinates transactions within 01-contract-deploy-call.test.ts. 00-evm-substrate-transfer.test.ts concurrently creates the same deterministic wallet and submits many transactions through its own signer, so both files can still select the same nonce—the failure mode already observed twice on the exact PR head. Serialize the EVM test files or give each file a distinct funded account, then demonstrate a clean full EVM run.
|
🔄 AI review updated — Skeptic: SAFE Auditor: 👎 |
81b1041 to
4311cf0
Compare
| binary: release | ||
| - test: zombienet_shield | ||
| binary: release | ||
| - test: zombienet_evm |
There was a problem hiding this comment.
[HIGH] Accelerated EVM job remains demonstrably flaky
The PR body reports that this exact integrated configuration failed twice with nonce too low, at different tests after 75 and 87 passes. The added NonceManager only covers 01-contract-deploy-call.test.ts; 00-evm-substrate-transfer.test.ts still shares raw wallets among its test cases. A required CI job cannot be merged with a repeatable known race. Serialize the EVM test files/cases or provide shared nonce coordination, then demonstrate a clean exact-head run.
|
🔄 AI review updated — Skeptic: SAFE Auditor: 👎 |
| binary: release | ||
| - test: zombienet_shield | ||
| binary: release | ||
| - test: zombienet_evm |
There was a problem hiding this comment.
[HIGH] Accelerated EVM gate remains unproven and documented as flaky
The PR body still reports intermittent nonce too low failures in this accelerated EVM job and explicitly calls them a merge-readiness risk. The new uncached nonce read is plausible, but no post-fix run demonstrates stability. Repeatedly validate this exact commit or serialize the EVM tests before making this configuration a required gate.
|
🔄 AI review updated — Skeptic: SAFE Auditor: 👎 |
|
🔄 AI review updated — Skeptic: SAFE Auditor: 👍 |
|
🔄 AI review updated — Skeptic: SAFE Auditor: 👍 |
c7dd675 to
c83cdba
Compare
|
🔄 AI review updated — Skeptic: SAFE Auditor: 👍 |
|
🔄 AI review updated — Skeptic: SAFE Auditor: 👍 |
What changes
This stacks the runtime/clone work from #2876 and the TypeScript E2E acceleration on #2875.
ubuntu-latestwithout chain RPC calls. The try-runtime wasm and release node build in parallel; try-runtime depends only on its wasm.MultiBlockMigrator = ()enables--disable-mbm-checks; a non-unit migrator retains the full path and ambiguous detection fails.fireactions-tryruntime; smoke retains its six-hour cadence onubuntu-latest. Snapshot production uses shared turbo-8 because assembly exceeded hosted-runner memory, so the dedicated try-runtime pool is no longer used. Scheduled sccache maintenance is fixed at12:00 UTC.Operational behavior
fresh-try-runtime-stateor manualfresh_stateexplicitly opts into live scraping.Measured PR impact
Runner time below excludes queueing. “Clone path” means the release-node build plus clone jobs; the combined row covers the optimized clone path and TypeScript E2E jobs, not unrelated workflows.
Notable components: clone regression waiting fell from ~44m54s aggregate to ~3m; cached mainnet try-runtime takes 3m45s (6m36s from workflow trigger, including ~27s artifact restore/validation); EVM 17m30s -> 6m24s, staking 17m17s -> 4m35s, and coldkey-swap 5m35s -> 1m39s. Shield's critical pure Vitest shard fell from 517.62s to 369.92s (28.5%) while preserving all tests and the six-node/three-validator topology.
Four RPC clients reduced mainnet try-runtime snapshot creation from 39m54s to 21m14s on the former dedicated runner (benchmark). The final shared turbo-8 topology measured 48m43s for mainnet and ~67m30s for all three networks (final-runner measurement); this is off the PR critical path and is the capacity tradeoff for retiring the dedicated pool.
Verification
git range-diffreports all 33 PR commits patch-identical.