Skip to content

Proper workload support for 2xx#3705

Merged
mthalman merged 14 commits intodotnet:release/10.0.2xxfrom
mthalman:dev/mthalman/3126-workloads
Jan 9, 2026
Merged

Proper workload support for 2xx#3705
mthalman merged 14 commits intodotnet:release/10.0.2xxfrom
mthalman:dev/mthalman/3126-workloads

Conversation

@mthalman
Copy link
Member

@mthalman mthalman commented Dec 5, 2025

Implements property workload support for the 2xx feature band. This does two things:

  • Ensures that workloads are versioned with the associated 1xx build instead of the current 2xx build.
    image
  • Consumes the workload manifest MSI packages from the associated 1xx build instead of building it in 2xx.

Example build containing the artifacts for inspection.

Fixes #3126

@mthalman mthalman requested a review from ViktorHofer December 9, 2025 16:01
@mthalman mthalman requested a review from dsplaisted December 11, 2025 17:58
@mthalman
Copy link
Member Author

Reviewers: I need some eyes on this. Thanks.

mthalman and others added 5 commits January 6, 2026 10:40
Make the 1xx experience (building shared components) the default by
setting DotNetBuildSharedComponents=true in sdk's Directory.Build.props.
Only pass /p:DotNetBuildSharedComponents=false to sdk when explicitly
needed, reducing unnecessary build argument passing.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Document the purpose of this property to help prevent merge conflicts
and clarify why this dependency exists for 2xx+ branches.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Clarify why MSI packages are marked as Internal when not building
shared components - they are downloaded from 1xx builds and should
not be republished.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Clarify why the Windows runtime packages have ExcludeAsMsi=true -
they are included in the SDK directly and don't need MSI wrappers
for workload installation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@mthalman
Copy link
Member Author

mthalman commented Jan 8, 2026

@ViktorHofer and @akoeplinger - PTAL at the updates. Need to get this in soon.

@mthalman mthalman requested a review from ViktorHofer January 8, 2026 16:22
@mthalman mthalman requested a review from ViktorHofer January 8, 2026 18:58
Copy link
Member

@ViktorHofer ViktorHofer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for addressing my feedback

@mthalman mthalman merged commit 506d651 into dotnet:release/10.0.2xx Jan 9, 2026
7 of 8 checks passed
@mthalman mthalman deleted the dev/mthalman/3126-workloads branch January 9, 2026 13:39
@mthalman
Copy link
Member Author

/backport to main

@github-actions
Copy link
Contributor

Started backporting to main (link to workflow run)

@github-actions
Copy link
Contributor

@mthalman backporting to main failed, the patch most likely resulted in conflicts. Please backport manually!

git am output
$ git am --3way --empty=keep --ignore-whitespace --keep-non-patch changes.patch

Applying: Proper workload support for 2xx
.git/rebase-apply/patch:82: trailing whitespace.
    
.git/rebase-apply/patch:163: trailing whitespace.
      <PackageDownload Include="%(RuntimeWorkloadPacksToDownload.Identity).Msi.x64" 
.git/rebase-apply/patch:166: trailing whitespace.
      <PackageDownload Include="%(RuntimeWorkloadPacksToDownload.Identity).Msi.x86" 
.git/rebase-apply/patch:169: trailing whitespace.
      <PackageDownload Include="%(RuntimeWorkloadPacksToDownload.Identity).Msi.arm64" 
.git/rebase-apply/patch:172: trailing whitespace.
      
warning: squelched 14 whitespace errors
warning: 19 lines add whitespace errors.
Using index info to reconstruct a base tree...
M	eng/Version.Details.props
M	eng/Version.Details.xml
M	eng/Versions.props
M	repo-projects/Directory.Build.props
M	repo-projects/sdk.proj
M	src/sdk/src/Workloads/VSInsertion/workloads.csproj
Falling back to patching base and 3-way merge...
Auto-merging eng/Version.Details.props
CONFLICT (content): Merge conflict in eng/Version.Details.props
Auto-merging eng/Version.Details.xml
CONFLICT (content): Merge conflict in eng/Version.Details.xml
Auto-merging eng/Versions.props
CONFLICT (content): Merge conflict in eng/Versions.props
Auto-merging repo-projects/Directory.Build.props
Auto-merging repo-projects/sdk.proj
CONFLICT (content): Merge conflict in repo-projects/sdk.proj
Auto-merging src/sdk/src/Workloads/VSInsertion/workloads.csproj
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Patch failed at 0001 Proper workload support for 2xx
Error: The process '/usr/bin/git' failed with exit code 128

Link to workflow output

mthalman added a commit to mthalman/dotnet that referenced this pull request Jan 13, 2026
@mthalman mthalman mentioned this pull request Jan 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants