-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
CoreCLR packages are not servicing ready #112710
Comments
Tagging subscribers to this area: @hoyosjs |
This may apply for packages other than those in coreclr/.nuget. Those are just the ones we noticed. It makes sense to do an audit of all packages maintained by runtime to see if they have a process for servicing. That way you can discover gaps before the day they need to be serviced. |
@ericstj - some of them are meant to be published every time. What stopped producing them/marking them as shipping? |
They've always been that way if you look at the publishing history, for example https://www.nuget.org/packages/runtime.win-x64.Microsoft.NETCore.ILDAsm I suspect if you want them to build with every release you might need to determine if that would have any side-effects - make sure the packages are setup to flow / version correctly / etc. |
@amanasifkhalid, PTAL. |
Are there any that shouldn't be shipped for servicing?
Aside from kicking off an official build, is there anything else we can/should do to verify these packages can be shipped before the next servicing release? |
The ones that ship as part of GA should be shipped as servicing too. Number of packages in this directory are non shipping, for example, https://github.com/dotnet/runtime/blob/main/src/coreclr/.nuget/ILCompiler.Reflection.ReadyToRun.Experimental/ILCompiler.Reflection.ReadyToRun.Experimental.pkgproj#L5 . This package does not ship as part of GA and it should not be shipped during serving either. |
Thanks -- I suppose we should start by removing the catch-all rule here, and let the package configs handle themselves. Would getting a successful official build with this change on top of a copy of the |
We think there is no different process for servicing builds. |
I ran an official build of
I'm finding this package available under |
The |
Thanks @ViktorHofer! The shipping statuses in the
Here's what the manifest looks like for an earlier servicing build:
I'm guessing we want the version suffix for ILAsm/ILDasm set as well. I'll fix that. |
After messing with this locally, I'm guessing the desired package version is passed during the build (i.e. |
I did an audit of all the packages that ship in ga and which were missing from servicing and found the complete list here: https://gist.github.com/ericstj/2be44b58fab7026875164a5e66020910 Have a review in case that includes any other packages owned by
That really depends on what you want the behavior to be. If you want them to always ship and follow the product versioning (preferred) then you shouldn't specify any versions manually. At one point long ago in coreclr branch these packages built using the latter policy. I think you can stop doing that since folks forgot how to do it anyways. Ship all the time. Really the only downside of doing that is if your downstream consumers understand the regular updates and they work well for them. If those consumers are part of the product for instance - make sure they haven't done something like hardcode Major.0.0. |
Thanks @ericstj for putting together a list! I think we have all the CoreCLR packages covered. From the build manifest:
For that particular build, the |
That's the expectation, yes. We should double check when we do the next servicing release that these have indeed the correct version suffix. Or we queue a test stable build - unsure if that's worth the hassle. We should follow-up on the remaining non-runtime packages (sourcelink, vs-codecoverage and llvm-project). Ignore test-templates as that repo got merged into sdk and is unlikely to change in the active servicing branches. For sourcelink, I don't think anything in the repo infrastructure prevents the packages from getting built during servicing. This might be a case where the release infra team intentionally doesn't flow updates during servicing. cc @mmitche @leecow |
Unblock shippable CoreCLR packages from being published in servicing releases. Fixes #112710.
Recently identified in #111444
All packages under https://github.com/dotnet/runtime/tree/7bb850f5f660e815aefe5a0937c6c29635820af8/src/coreclr/.nuget are not set up to ship in servicing.
If they're meant to be enabled/disabled incrementally then a process around versioning and enabling needs to be documented and followed for servicing changes.
If they're meant to always ship, then changes to the build need to be made to enable them and consumers need to be set up to react to those regular changes.
The text was updated successfully, but these errors were encountered: