-
Notifications
You must be signed in to change notification settings - Fork 60
Build installers for the servicing releases #2362
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
Conversation
@ericstj for input @RussKie I have some concerns with this. I don't think we want to be generating a new ref pack on every release. We generally do not update the ref packs unless there are fixes/changes to surface area (5.0, for instance, only has a single version of the ref pack). Perhaps I'm not understanding the link between the analyzers and the ref pack? |
Other question: Do changes to the analyzers apply to all the 6.0 SDKs? |
I don't know if this is the case for Microsoft.WindowsDesktop ref pack, but for dotnet/runtime we ship analyzers as part of the ref pack, specifically source generators and that way customers get the source generators on their build without the need to reference a package. |
Do you need to freeze the platform manifest here? That's something we do in aspnetcore and runtime in servicing to ensure that folks don't get the platform file information as if they were targeting a serviced runtime. Here's a change where we did that: Also, you might consider adding a safeguard that does APICompat between the serviced ref-pack and GA. That will protect you from accidentally exposing new API in servicing. |
I have close to no knowledge of these parts of the SDK. I'm happy to add it since we do the same in other parts of the SDK. The only question I have is that the manifest file contains the build version, e.g. 6.0.1:
That's a good idea, I'll add it going forward. |
In .NET 6.0 Windows Forms has added an inbox source generator and analyzers that are shipped in a ref pack. Here's the design paper for inbox source generators written by @ericstj. There was a bug in the source generator implementation that we fixed, and are now trying to ship. |
If only the WindowsDesktop runtimes could be split into 2 separate runtimes to where they would get 2 separate installers. (Since technically the .NET SDK today makes use of properties to make the framework look like they are 2 separate runtimes when someone sees I think doing that at the runtime side as well might help solve the issue of installers for servicing releases as then they would get 2 separate runtime packs and then if one wants to build the WindowsDesktop runtime pack locally they can clone either |
We are taking in this as-is for 6.0.2. any further proposals here can be tracked with future releases. |
As per this comment we don't build installers for servicing releases unless the patch version matches:
windowsdesktop/eng/Versions.props
Lines 24 to 40 in 74c4445
For servicing releases in which we update inbox analyzers we must generate a new version of installers.
Given that Windows Desktop SDK is an agglomeration of Windows Forms and WPF that may ship updates/fixes to their analyzers at their own cadence, manually updating
<ProjectServicingConfiguration PatchVersion="0" />
may be impractical for a number of reasons, including that Windows Forms and WPF are managed by different teams. Thus the proposal is to always increment thePatchVersion
property as per the servicing release version.