Parallelize and rebalance bucket C tests - #8240
Merged
Merged
Conversation
Run independent attestation, node join policy, and code update chains on separate networks while preserving platform-specific behavior and consecutive upgrade coverage. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: d5bda3c0-f561-419d-ab26-441e1b853b7a
Move e2e_logging_http2 from bucket C to bucket B so the capacity freed by #8236 reduces the remaining bucket C critical path. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: d5bda3c0-f561-419d-ab26-441e1b853b7a
Keep the standalone SNP path on one network so its final quote verification still covers every policy-join node, while retaining the virtual-only parallel split. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: d5bda3c0-f561-419d-ab26-441e1b853b7a
Pass only the governance API version required by the helper instead of each runner's complete argument namespace. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: d5bda3c0-f561-419d-ab26-441e1b853b7a
Amaury Chamayou (achamayou)
marked this pull request as ready for review
August 30, 2026 16:42
Copilot started reviewing on behalf of
Amaury Chamayou (achamayou)
August 30, 2026 16:42
View session
Contributor
There was a problem hiding this comment.
Pull request overview
This PR reduces end-to-end CI wall-clock time by parallelising code_update_test into multiple ConcurrentRunner sub-tests (so phases can run concurrently on separate networks), and rebalancing CI buckets by moving e2e_logging_http2 from bucket_c to bucket_b.
Changes:
- Split
tests/code_update.pyexecution into independentConcurrentRunnersub-tests (attestation,join-policy,code-updates) while preserving ordering where it matters (notably the sequential upgrade coverage). - Keep the SNP-specific sequence on a single network, including a final
test_verify_quotes()after the join-policy-related node activity. - Rebalance CI by moving
e2e_logging_http2from bucket C to bucket B (both intests/ci-buckets.txtand the CMake test registration).
Custom instructions used:
.github/copilot-instructions.md
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
tests/code_update.py |
Parallelises code_update_test phases via ConcurrentRunner, separating virtual/non-SNP join-policy and code-upgrade work while keeping SNP flows on a single network. |
tests/ci-buckets.txt |
Moves e2e_logging_http2 from bucket_c to bucket_b to rebalance CI job durations. |
CMakeLists.txt |
Updates the e2e_logging_http2 test’s BUCKET assignment to bucket_b to match the intended CI rebalance. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Max (maxtropets)
approved these changes
Sep 1, 2026
Amaury Chamayou (achamayou)
enabled auto-merge (squash)
September 1, 2026 09:32
Amaury Chamayou (achamayou)
deleted the
achamayou-parallelize-bucket-c
branch
September 1, 2026 10:15
This was referenced Sep 1, 2026
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
Follow-up to #8236, which frees substantial capacity in
bucket_band makesbucket_cthe end-to-end CI critical path.This PR:
code_update_testinto independent attestation, node join-policy, and code-upgradeConcurrentRunnersub-tests;e2e_logging_http2(~74s) frombucket_cto the newly shortenedbucket_b.The bucket rebalance is intended to land after #8236. Without #8236,
bucket_bdoes not yet have the required headroom.Expected effect
A recent
mainrun measuredcode_update_testat 82.4s. Based on its individual phase spans, the parallel virtual test should take approximately 42-47s, saving roughly 35-40 runner-seconds.After #8236, moving
e2e_logging_http2projects the two virtual jobs at approximately:This PR should therefore reduce end-to-end wall-clock time by approximately 109-114s after #8236. The bucket move only redistributes runner time; the estimated 35-40s runner-time reduction comes from parallelizing
code_update_test. These estimates are pending confirmation in CI.Coverage and testing
code_update_testpreserves the exact sequence of all 11test_*calls.code_update_testpreserves the exact sequence of all 13test_*calls on one network.e2e_operations.run_*calls occur exactly once, all seven groups are registered exactly once, and relative order is preserved within every group.e2e_logging_http2moves from C to B.uvx black tests/code_update.pyuvx ruff check tests/code_update.pypython -m py_compile tests/code_update.py-Non virtual (attestation,join-policy,code-updates) and SNP (attestation).tests/ci-buckets.txt.