-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Move to .NET 5 Preview 8 SDK #47165
Move to .NET 5 Preview 8 SDK #47165
Conversation
@dotnet/roslyn-infrastructure please take a look. I had to create a separate draft PR with this change based on master-vs-deps, as the line above the SCI/SRM binary versions was changed, causing a merge conflict. The draft is here: I've kicked off a signed build for a test insertion: Test insertion: |
eng/Versions.props
Outdated
@@ -243,8 +243,8 @@ | |||
--> | |||
<NewtonsoftJsonVersion>12.0.2</NewtonsoftJsonVersion> | |||
<StreamJsonRpcVersion>2.4.34</StreamJsonRpcVersion> | |||
<SystemCollectionsImmutableVersion>5.0.0-preview.8.20371.14</SystemCollectionsImmutableVersion> | |||
<SystemReflectionMetadataVersion>5.0.0-preview.8.20371.14</SystemReflectionMetadataVersion> | |||
<SystemCollectionsImmutableVersion>5.0.0-preview.8.20407.11</SystemCollectionsImmutableVersion> |
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.
These are the public versions available on NuGet.
global.json
Outdated
"allowPrerelease": true, | ||
"rollForward": "major" | ||
}, | ||
"tools": { | ||
"dotnet": "5.0.100-preview.7.20366.6", | ||
"dotnet": "5.0.100-preview.8.20417.9", | ||
"vs": { | ||
"version": "16.6" |
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.
❔ This needs an update as well right?
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.
Yeah, probably. I just want to see the CI work first :)
FYI: this will mean that we need to move our minimum Visual Studio version to 16.8 preview as well. The Net5 P8 SDK depends on having 16.8 MSBuild hence in order to develop roslyn after this change you will need 16.8 preview on your machine. I don't say this is a blocker, just as an FYI. It's been known for a while at a division level most of our repos would need to move to a preview VS for the end game of .NET5. We should tell the team though. |
@@ -20,7 +20,7 @@ The minimal required version of .NET Framework is 4.7.2. | |||
- Ensure Visual Studio is on Version "16.5" or greater | |||
- Ensure "Use previews of the .NET Core SDK" is checked in Tools -> Options -> Environment -> Preview Features | |||
- Restart Visual Studio | |||
1. [.NET Core SDK 5.0 Preview 7](https://dotnet.microsoft.com/download/dotnet-core/5.0) [Windows x64 installer](https://dotnet.microsoft.com/download/dotnet/thank-you/sdk-5.0.100-preview.7-windows-x64-installer) | |||
1. [.NET Core SDK 5.0 Preview 8](https://dotnet.microsoft.com/download/dotnet-core/5.0) [Windows x64 installer](https://dotnet.microsoft.com/download/dotnet/thank-you/sdk-5.0.100-preview.8-windows-x64-installer) |
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.
Per @jaredpar's comments, this also bumps us to requiring 16.8 -- do we need to update line 18 accordingly?
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.
💡 If we update the solution file appropriately, earlier versions of VS will actually know to report an error if you try to open it.
Line 4 in 255cb1e
MinimumVisualStudioVersion = 10.0.40219.1 |
I have validated building, testing, and F5'ing Roslyn.sln with 16.8p2. All seems to be working. |
I'm breaking the SCI and SRM updates out of this PR and into #47397 to unblock partner teams. |
@sharwell or @JoeRobich can you please look into the integration test failures? Feel free to push to this branch. |
@JoeRobich or @sharwell, any progress here? |
/azp run |
Azure Pipelines successfully started running 2 pipeline(s). |
I attempted to run the coreclr tests locally to figure out what is hanging. I wasn't able to see a hang locally, but I did see multiple test breakages from dotnet/runtime#42234. |
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.
Signing off to unblock the work, but please make sure the queue change to the integration test runs are rolled back as soon as practicable.
azure-pipelines-integration.yml
Outdated
@@ -18,22 +18,23 @@ jobs: | |||
- job: VS_Integration | |||
pool: | |||
name: NetCorePublic-Pool | |||
queue: buildpool.windows.10.amd64.vs2019.pre.open | |||
queue: buildpool.windows.vs2019.pre.scouting.open |
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.
Do we still need this or is the Preview 2 queue now the main queue? We don't want to be permanently on the scouting queue or else we'd be get broken the moment it's updated.
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.
(fine to merge in this state if it's necessary but please fix ASAP as otherwise this is setting a trap to break things)
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.
Preview2 is the main queue now, which is coincidentally why the integration tests aren't quite working
https://github.com/dotnet/core-eng/wiki/VS2019-Upgrade-Schedule
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.
Moved back to the main pool.
Hello @333fred! Because this pull request has the p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (
|
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.
Auto-approval
# 64-bit disabled for https://github.com/dotnet/roslyn/issues/40476 | ||
# debug_64: | ||
# _configuration: Debug | ||
# _oop64bit: true |
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.
😨 These are our only tests for OOP.
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.
64-bit testing covers the 99.9% customer scenario.
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.
@tmat and @jasonmalinowski confirmed that we were not introducing any new product bugs here, only exposing existing issues. Given that this was also blocking other work, we opted to not hold this PR hostage to existing bugs that cannot be fixed at the same time.
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.
And in parallel with that analysis, an image upgrade to our machine pool also meant the builds were entirely broken for integration tests unless we merged this PR to upgrade to Preview 8. (The SDK on the image upgraded and a version compat bug meant the mismatch broke builds.) So this quickly went from something we were doing with regret to something we had no alternative for.
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.
The integration tests were working in this pull request as of afbbec1 (10 September). I've requested this be treated as proof of a ship-blocking product regression introduced either by this change, or in parallel with this change, until we can figure the reason why they stopped working again. The fix(es) I find over the remainder of the weekend will be added to #47870.
Moves us to .NET 5 Preview 8, including the P8 SCI and SRM binaries.