Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Benchmarks_local disable terminating of all dotnet processes #3934

Merged
merged 5 commits into from
Feb 15, 2024

Conversation

LoopedBard3
Copy link
Member

Initially, due to msbuild node reuse, the artifact build steps would occasionally fail due to files still being "in use" when building more than 1 commit for testing. To get around this the benchmarks local script terminated any potential dotnet file holders with the side affect of terminating other unrelated dotnet tasks on the machine. This commit updates the default of the script to disable msbuild Node reuse (found via https://stackoverflow.com/questions/13510465/the-mystery-of-stuck-inactive-msbuild-exe-processes-locked-stylecop-dll-nuget/13510466#13510466, thanks @caaavik-msft) which should keep this problem from occurring. A side effect of this change is that builds may be slower, so the option to enable node reuse is available.

The other primary update includes the adding of a force terminate option if we find edge cases where we still hit problems due to running processes. Minor updates include consolidating get_mono_corerun and forced cleaning of dotnet_mono folder to avoid a state with intermixed dotnet_mono folders from between runs.

…switched default of killing dotnet to not killing dotnet. Added arguments to reenable each of these options, but this new default will allow the script to run completely while also using the machine for other dotnet/msbuild tasks without interruption.
…ed the artifact path to include the framework version being run so you can run net9.0 and then net8.0.
… and enable-msbuild-node-reuse arguments, also updated dont-kill-dotnet-processes with deprecation information as it is now the default flow.
…shouldn't need it as the problem was due to dotnet_mono conflicts.
@LoopedBard3 LoopedBard3 added the enhancement New feature or request label Feb 14, 2024
@LoopedBard3 LoopedBard3 self-assigned this Feb 14, 2024
@LoopedBard3
Copy link
Member Author

Failures are unrelated, merging.

@LoopedBard3 LoopedBard3 merged commit e7d3ff2 into dotnet:main Feb 15, 2024
31 of 60 checks passed
@LoopedBard3 LoopedBard3 deleted the AddNodeReuseOption branch February 15, 2024 18:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants