Skip to content

[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

Merged
merged 9 commits into from
May 1, 2025

Conversation

pjcollins
Copy link
Member

@pjcollins pjcollins commented Apr 23, 2025

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 and
uploaded 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 on
the targets and items defined in sharedfx.targets.

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
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@pjcollins pjcollins requested a review from rolfbjarne April 23, 2025 23:44
@pjcollins
Copy link
Member Author

@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
and
https://github.com/dotnet/macios/blob/main/tests/test-libraries/nugets/XCFrameworkWithStaticLibraryInRuntimesNativeDirectory/XCFrameworkWithStaticLibraryInRuntimesNativeDirectory.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?

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@pjcollins
Copy link
Member Author

Testing end to end in VS with the following, expecting the VS build to fail but symbol check should be green:
VS insertion pipeline update: https://devdiv.visualstudio.com/DevDiv/_git/Xamarin.sdk-insertions/pullrequest/631379
VS insertion run: https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=11469996&view=results
VS PR: https://devdiv.visualstudio.com/DevDiv/_git/VS/pullrequest/631392

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@pjcollins pjcollins marked this pull request as ready for review April 24, 2025 22:36
@pjcollins pjcollins requested review from dalexsoto and mcumming April 24, 2025 22:36
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@pjcollins pjcollins changed the title [build] Use SharedFramework.Sdk to create workload packs [build][net10.0] Use SharedFramework.Sdk to create workload packs Apr 30, 2025
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2
Copy link
Collaborator

✅ [CI Build #2b7e28d] Build passed (Build packages) ✅

Pipeline on Agent
Hash: 2b7e28db532f6217e2f788cb36e920e95d4f2a20 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

✅ [CI Build #2b7e28d] Build passed (Detect API changes) ✅

Pipeline on Agent
Hash: 2b7e28db532f6217e2f788cb36e920e95d4f2a20 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

✅ API diff for current PR / commit

.NET ( No breaking changes )

✅ API diff vs stable

.NET ( No breaking changes )

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: 2b7e28db532f6217e2f788cb36e920e95d4f2a20 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

✅ [CI Build #2b7e28d] Build passed (Build macOS tests) ✅

Pipeline on Agent
Hash: 2b7e28db532f6217e2f788cb36e920e95d4f2a20 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

💻 [CI Build #2b7e28d] Tests on macOS X64 - Mac Sonoma (14) passed 💻

All tests on macOS X64 - Mac Sonoma (14) passed.

Pipeline on Agent
Hash: 2b7e28db532f6217e2f788cb36e920e95d4f2a20 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

💻 [CI Build #2b7e28d] Tests on macOS M1 - Mac Monterey (12) passed 💻

All tests on macOS M1 - Mac Monterey (12) passed.

Pipeline on Agent
Hash: 2b7e28db532f6217e2f788cb36e920e95d4f2a20 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

💻 [CI Build #2b7e28d] Tests on macOS arm64 - Mac Sequoia (15) passed 💻

All tests on macOS arm64 - Mac Sequoia (15) passed.

Pipeline on Agent
Hash: 2b7e28db532f6217e2f788cb36e920e95d4f2a20 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

💻 [CI Build #2b7e28d] Tests on macOS M1 - Mac Ventura (13) passed 💻

All tests on macOS M1 - Mac Ventura (13) passed.

Pipeline on Agent
Hash: 2b7e28db532f6217e2f788cb36e920e95d4f2a20 [PR build]

@rolfbjarne rolfbjarne merged commit a21bf11 into net10.0 May 1, 2025
13 checks passed
@rolfbjarne rolfbjarne deleted the release-test/net10sfx branch May 1, 2025 13:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants