Skip to content

Consolidate test categories and enable parallel execution in CI - #5783

Draft
johnsimons wants to merge 5 commits into
masterfrom
john/parallel_steps
Draft

Consolidate test categories and enable parallel execution in CI#5783
johnsimons wants to merge 5 commits into
masterfrom
john/parallel_steps

Conversation

@johnsimons

Copy link
Copy Markdown
Member

Groups test projects that share infrastructure (like SQL Server or RabbitMQ) into consolidated categories to reduce container provisioning and compilation overhead.

Updates the test runner to support parallel execution of assemblies on a single runner to maintain performance, including output buffering to prevent interleaved logs.

Groups test projects that share infrastructure (like SQL Server or RabbitMQ) into consolidated categories to reduce container provisioning and compilation overhead.

Updates the test runner to support parallel execution of assemblies on a single runner to maintain performance, including output buffering to prevent interleaved logs.
@johnsimons johnsimons self-assigned this Aug 15, 2026
Assigns unique ports to test runs via environment variables when parallel execution is enabled. This avoids collisions where multiple processes probe the same available port simultaneously before binding.

Includes an update to the process exit logic to use a timeout, preventing potential hangs caused by inherited handles in child processes.
Adds a detailed research and recommendation document for optimizing CI runner usage through job consolidation and step parallelism.

Updates event source creation logic to handle race conditions that occur when multiple test assemblies attempt to create machine-wide resources concurrently on the same runner.
Switches from capturing loop output to using an explicit list to ensure diagnostic messages (Write-Output) do not pollute the collection of test runs. This prevents invalid "dotnet test" executions that would occur if strings were accidentally included in the runs array.
Removes the RavenDB port information from the "Starting" log message to ensure a consistent output format for all test executions.
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.

1 participant