-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Swap out Win11 for Win-VS2022 in CI #61743
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
base: main
Are you sure you want to change the base?
Conversation
Hey @dotnet/aspnet-build, looks like this PR is something you want to take a look at. |
There was a problem hiding this comment.
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 updates the CI configuration to swap out Win11 for Win-VS2022 and restore coverage for NativeAOT tests while including a helix-matrix trigger for IIS and HttpSys test changes.
- Updated the .azure/pipelines/helix-matrix.yml to include a PR trigger for the main branch.
- Added path filters to run the helix-matrix for IIS and HttpSys related changes.
Files not reviewed (1)
- eng/targets/Helix.Common.props: Language not supported
.azure/pipelines/helix-matrix.yml
Outdated
- src/Servers/IIS/* | ||
- src/Servers/HttpSys/* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Consider using a recursive wildcard (e.g., '**') if the intent is to capture all nested changes under 'src/Servers/IIS'.
- src/Servers/IIS/* | |
- src/Servers/HttpSys/* | |
- src/Servers/IIS/** | |
- src/Servers/HttpSys/** |
Copilot uses AI. Check for mistakes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
those could be wrong of course .. most of the ilasm sources are in the base folder anyway
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jkoritzinsky who did that *
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested it out, dotnet/runtime#115170 did trigger the ilasm job with only a change to a nested file
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/file-matching-patterns?view=azure-devops suggests **
Ah, in that case I'll go w/ the best practice
There have been zero test failures out of 1.5 million tests ran on the Win-VS2022 queue over the past month, while the Win11 queue has been very flaky (92 test failures out of 3.2 million over the same period). We originally moved the VS2022 queue over to the helix matrix due to flakiness caused by dotnet/dnceng#3844, but that hasn't repro'd in aspnetcore at all over the past 30 days.
This change would restore coverage for the NativeAOT tests in PR CI, but would remove coverage for a fair number of IIS & HttpSys tests that get skipped on the VS2022 queue. Therefore, I'm also turning on the helix-matrix PR for tests touching those folders.
As an example, our flakiest test over the past 30 days has been
Microsoft.AspNetCore.Components.Test.ComponentBaseTest.RendersAfterParametersSetAndInitAsyncTasksAreCompleted
, which failed 5 times in 108 runs on the Win11 queue, but passed in all 59 of its runs on the VS2022 queue.