-
Notifications
You must be signed in to change notification settings - Fork 541
[build][net10.0] Use SharedFramework.Sdk to create workload packs #22660
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
The workload packaging logic has been updated to use more of the [Microsoft.DotNet.SharedFramework.Sdk][0] MSBuild SDK included in the dotnet/arcade repo. This SDK allows us to easily exclude the symbols files that we've been shipping directly in all of our workload packs, and instead move them into `*.symbols.nupkg` packages that can be archived and uploaded to a symbol server separately. The targets updates in `dotnet/package/common.csproj` lean heavily on the targets and items defined in [sharedfx.targets][1]. [0]: https://github.com/dotnet/arcade/tree/21f46f494265f11e124c47ee868fac199768a35b/src/Microsoft.DotNet.SharedFramework.Sdk [1]: https://github.com/dotnet/arcade/blob/2b1931c05dd6ceb89120131a8b39eaa81735179a/src/Microsoft.DotNet.SharedFramework.Sdk/targets/sharedfx.targets#L398-L429
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@rolfbjarne I'm working on some packaging changes here to separate out symbols from the workload sdk packs, tagging you in for some early review whenever you have the chance. One thing I was unsure about is how https://github.com/dotnet/macios/blob/main/tests/test-libraries/nugets/FrameworksInRuntimesNativeDirectory/FrameworksInRuntimesNativeDirectory.csproj#L32 are used and if they need to be generating these FrameworkList and RuntimeList files? I can update them to do so in this newer way if needed, or maybe we can remove that bit from the projects? |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Testing end to end in VS with the following, expecting the VS build to fail but symbol check should be green: |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
✅ [CI Build #2b7e28d] Build passed (Build packages) ✅Pipeline on Agent |
✅ [CI Build #2b7e28d] Build passed (Detect API changes) ✅Pipeline on Agent |
✅ API diff for current PR / commit.NET ( No breaking changes )✅ API diff vs stable.NET ( No breaking changes )ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
✅ [CI Build #2b7e28d] Build passed (Build macOS tests) ✅Pipeline on Agent |
💻 [CI Build #2b7e28d] Tests on macOS X64 - Mac Sonoma (14) passed 💻✅ All tests on macOS X64 - Mac Sonoma (14) passed. Pipeline on Agent |
💻 [CI Build #2b7e28d] Tests on macOS M1 - Mac Monterey (12) passed 💻✅ All tests on macOS M1 - Mac Monterey (12) passed. Pipeline on Agent |
💻 [CI Build #2b7e28d] Tests on macOS arm64 - Mac Sequoia (15) passed 💻✅ All tests on macOS arm64 - Mac Sequoia (15) passed. Pipeline on Agent |
💻 [CI Build #2b7e28d] Tests on macOS M1 - Mac Ventura (13) passed 💻✅ All tests on macOS M1 - Mac Ventura (13) passed. Pipeline on Agent |
Additional context: dotnet/android@dc08972
The workload packaging logic has been updated to use more of the
Microsoft.DotNet.SharedFramework.Sdk MSBuild SDK included in the
dotnet/arcade repo.
This SDK allows us to easily exclude the symbols files that we've
been shipping directly in all of our workload packs, and instead move
them into
*.symbols.nupkg
packages that can be archived anduploaded to a symbol server separately.
Symbols can be filtered out of regular nupkg files by setting the
%(FilesToPackage.IsSymbolFile) metadata to "true".
While we now have an option to easily exclude symbols from a given pack,
symbols will continue to be shipped in runtime and SDK packs to support
improved debugging and non-VS build scenarios.
The targets updates in
dotnet/package/common.csproj
lean heavily onthe targets and items defined in sharedfx.targets.