Consolidate test categories and enable parallel execution in CI - #5783
Draft
johnsimons wants to merge 5 commits into
Draft
Consolidate test categories and enable parallel execution in CI#5783johnsimons wants to merge 5 commits into
johnsimons wants to merge 5 commits into
Conversation
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.
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.
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.
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.