ci: accelerate runtime, clone, and TypeScript E2E checks#2880
ci: accelerate runtime, clone, and TypeScript E2E checks#2880UnArbosFive wants to merge 29 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
| - variant: release | ||
| flags: "" |
There was a problem hiding this comment.
[HIGH] Production-profile E2E coverage is removed
This leaves the workflow building and testing only fast-runtime, whose cadence and constants differ from production. It also removes the release-backed dev and zombienet_shield jobs and replaces the coldkey-swap/subnet multi-validator jobs with single-node variants. Consequently, production-only and consensus/finality regressions can pass this required gate. Keep the benchmark variants alongside the existing matrix, or restore the original coverage before merge as promised in the PR body.
🛡️ AI Review — Skeptic (security review)VERDICT: VULNERABLE VERY HIGH scrutiny: 11-day-old account with no public repos; mitigated by repository-admin permission, matching author/committer identity, an internal branch targeting main, and no known Gittensor association. The snapshot trust path binds artifacts to the canonical default-branch workflow run, producer SHA, manifest identity, and payload checksum. No trusted AI-review instruction files or dependencies are modified. Findings
Prior-comment reconciliation
ConclusionThere is no evidence of malicious intent, but the replacement required Shield gate still accepts skipped prerequisites and can report success without running the security regression suite. 📜 Previous run (superseded)
🔍 AI Review — Auditor (domain review)VERDICT: 👎 Gittensor association UNKNOWN; repository admin with a new public profile, so review relied on implementation and CI invariants rather than profile history. The updated PR body resolves the prior description discrepancy. The E2E configuration validator passes, Findings
ConclusionThe sharding design is coherent, but the aggregate required check must fail unless both the build and Shield shards explicitly succeeded. |
|
🔄 AI review updated — Skeptic: VULNERABLE |
| matrix: | ||
| include: | ||
| - variant: release | ||
| flags: "" |
There was a problem hiding this comment.
[HIGH] Production-profile E2E coverage is removed
This still deletes the release-runtime build and replaces the existing release/multi-validator test matrix with fast-runtime single-node variants. Those variants do not exercise production compilation or multi-validator consensus behavior, so regressions can pass this required workflow undetected. Restore the existing coverage before making the PR mergeable; run benchmark variants alongside it or in a separate temporary workflow.
|
🔄 AI review updated — Skeptic: VULNERABLE |
| include: | ||
| - variant: release | ||
| flags: "" | ||
| - variant: fast |
There was a problem hiding this comment.
[HIGH] Production-profile E2E coverage is removed
The build matrix now contains only the fast-runtime binary, while the test matrix drops the release-only and original multi-validator suites. This removes coverage capable of detecting production-configuration and consensus/finality regressions before merge. Restore the release build and full E2E matrix before this draft becomes mergeable.
|
🔄 AI review updated — Skeptic: VULNERABLE |
| matrix: | ||
| include: | ||
| - test: dev | ||
| - test: zombienet_evm_single |
There was a problem hiding this comment.
[HIGH] Production-profile E2E coverage remains removed
The replacement matrix no longer runs dev, zombienet_staking, zombienet_coldkey_swap, zombienet_subnets, or the original multi-validator zombienet_evm suite. This weakens the required CI gate for runtime, staking, subnet, and consensus-sensitive changes. Restore the production-profile matrix before this experimental PR becomes mergeable.
|
🔄 AI review updated — Skeptic: VULNERABLE |
| "type": "zombie", | ||
| "zombieSpec": { | ||
| "configPath": "./configs/zombie_node.json", | ||
| "configPath": "./configs/zombie_single_node.json", |
There was a problem hiding this comment.
[HIGH] Multi-validator E2E coverage remains removed
This moves the staking suite—and the same change below moves coldkey-swap, EVM, and subnet suites—from three validators to one immediately-finalized node. Those required checks therefore stop exercising validator propagation, finality lag, and topology-dependent behavior; retaining Shield alone does not cover suite-specific interactions under those conditions. Keep the multi-validator environments in the mergeable workflow, or add equivalent multi-validator jobs alongside these benchmark variants.
|
🔄 AI review updated — Skeptic: VULNERABLE |
| "type": "zombie", | ||
| "zombieSpec": { | ||
| "configPath": "./configs/zombie_node.json", | ||
| "configPath": "./configs/zombie_single_node.json", |
There was a problem hiding this comment.
[HIGH] Multi-validator E2E coverage remains removed
Staking, coldkey-swap, EVM, and subnet tests now run against one immediately-finalized validator instead of the prior three-validator topology. This prevents those suites from detecting regressions involving GRANDPA finality, validator propagation, or behavior that differs across nodes. Keep the optimized single-node variants as additional benchmark jobs, but retain merge-blocking multi-validator coverage for these suites.
|
🔄 AI review updated — Skeptic: VULNERABLE |
|
🔄 AI review updated — Skeptic: SAFE Auditor: 👍 |
|
🔄 AI review updated — Skeptic: SAFE Auditor: 👍 |
682dde3 to
028c451
Compare
028c451 to
ff30727
Compare
| exit 1 | ||
| fi |
There was a problem hiding this comment.
[HIGH] Require successful Shield prerequisites
This required aggregate check only rejects failure and cancelled, so build=skipped and run-shield-tests=skipped produce a successful required check even when E2E-relevant changes receive no Shield coverage—for example when the non-fork prerequisite skips. Fail closed unless both prerequisites succeeded; if docs-only skipping must pass, include the path-classification result and explicitly validate that case.
| exit 1 | |
| fi | |
| if [[ "$BUILD_RESULT" != "success" || "$SHIELD_RESULT" != "success" ]]; then |
|
🔄 AI review updated — Skeptic: VULNERABLE |
|
🔄 AI review updated — Skeptic: VULNERABLE |
| if [[ "$BUILD_RESULT" == "failure" || "$BUILD_RESULT" == "cancelled" || \ | ||
| "$SHIELD_RESULT" == "failure" || "$SHIELD_RESULT" == "cancelled" ]]; then |
There was a problem hiding this comment.
[HIGH] Require successful Shield prerequisites
This rejects only failure and cancelled, so a skipped build or Shield matrix still makes the required aggregate check succeed. Fail closed unless both prerequisites are success; permit an intentional irrelevant-PR skip only by explicitly checking the trusted change-classification result.
|
🔄 AI review updated — Skeptic: VULNERABLE |
|
Superseded by #2882 after renaming the combined head branch to |
Summary
This consolidates the runtime/clone acceleration from #2876 with the TypeScript E2E acceleration developed in this PR.
MultiBlockMigrator = ()Measured impact
The combined critical-path estimate assumes the two PR workflows start together and excludes runner queueing. Shield is now the longer of the two measured gates; the runtime/clone gate finishes in about 12 minutes.
Notable component measurements:
Security and thoroughness
Validation
cargo fmt --all -- --checkSKIP_WASM_BUILD=1 cargo check -p node-subtensorIntegrated verification
nonce too low.