Skip to content

Parallelize and rebalance bucket C tests - #8240

Merged
Amaury Chamayou (achamayou) merged 6 commits into
mainfrom
achamayou-parallelize-bucket-c
Sep 1, 2026
Merged

Parallelize and rebalance bucket C tests#8240
Amaury Chamayou (achamayou) merged 6 commits into
mainfrom
achamayou-parallelize-bucket-c

Conversation

@achamayou

@achamayou Amaury Chamayou (achamayou) commented Aug 29, 2026

Copy link
Copy Markdown
Member

Summary

Follow-up to #8236, which frees substantial capacity in bucket_b and makes bucket_c the end-to-end CI critical path.

This PR:

  • splits the virtual code_update_test into independent attestation, node join-policy, and code-upgrade ConcurrentRunner sub-tests;
  • keeps consecutive atomic and non-atomic upgrades together, preserving their ordering and coverage;
  • keeps the standalone SNP sequence on one network so its final quote verification still covers every policy-join node;
  • moves e2e_logging_http2 (~74s) from bucket_c to the newly shortened bucket_b.

The bucket rebalance is intended to land after #8236. Without #8236, bucket_b does not yet have the required headroom.

Expected effect

A recent main run measured code_update_test at 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_http2 projects the two virtual jobs at approximately:

Job Before this PR After this PR
VMSS Virtual B ~842s ~916s
VMSS Virtual C ~1044s ~930-935s

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

  • Verified by AST that the virtual code_update_test preserves the exact sequence of all 11 test_* calls.
  • Verified by AST that the SNP code_update_test preserves the exact sequence of all 13 test_* calls on one network.
  • Re-verified Split schema_test operations into parallel sub-tests #8236: all 29 e2e_operations.run_* calls occur exactly once, all seven groups are registered exactly once, and relative order is preserved within every group.
  • Verified that the complete ctest bucket union is unchanged and only e2e_logging_http2 moves from C to B.
  • The coverage workflow does not select bucket labels, so the label move does not alter instrumented test coverage.
  • uvx black tests/code_update.py
  • uvx ruff check tests/code_update.py
  • python -m py_compile tests/code_update.py
  • Verified runner registration with -N on virtual (attestation, join-policy, code-updates) and SNP (attestation).
  • Configured a fresh CMake build and verified the generated bucket inventory matches tests/ci-buckets.txt.
  • Full end-to-end timing pending CI.

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
@achamayou Amaury Chamayou (achamayou) changed the title Split code_update_test into parallel sub-tests Parallelize and rebalance bucket C tests Aug 29, 2026
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
@achamayou
Amaury Chamayou (achamayou) marked this pull request as ready for review August 30, 2026 16:42
@achamayou
Amaury Chamayou (achamayou) requested a review from a team as a code owner August 30, 2026 16:42
Copilot AI lite review requested due to automatic review settings August 30, 2026 16:42

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.py execution into independent ConcurrentRunner sub-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_http2 from bucket C to bucket B (both in tests/ci-buckets.txt and 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.

@achamayou
Amaury Chamayou (achamayou) merged commit f5cafb4 into main Sep 1, 2026
17 of 18 checks passed
@achamayou
Amaury Chamayou (achamayou) deleted the achamayou-parallelize-bucket-c branch September 1, 2026 10:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants