Skip to content

[build] Fix stabilized SDK workload manifest path#12192

Merged
jonathanpeppers merged 2 commits into
mainfrom
jonathanpeppers-fix-main-sdk-feature-band
Jul 22, 2026
Merged

[build] Fix stabilized SDK workload manifest path#12192
jonathanpeppers merged 2 commits into
mainfrom
jonathanpeppers-fix-main-sdk-feature-band

Conversation

@jonathanpeppers

@jonathanpeppers jonathanpeppers commented Jul 21, 2026

Copy link
Copy Markdown
Member

PR #12180 exposed a mismatch in stabilized SDK builds: MicrosoftNETSdkPackageVersion remained 10.0.400-preview.0.26367.110, while dotnet-install downloaded an SDK whose actual NETCoreSdkVersion and product directory were 10.0.400. The package-derived loose manifest path was therefore sdk-manifests/10.0.400-preview.0, but the installed SDK searched sdk-manifests/10.0.400, so dotnet workload install android-deps could not discover the Android manifest.

Derive the local manifest feature band from NETCoreSdkVersion, matching the installed SDK's SdkFeatureBand behavior: round servicing patches to the X00 band, preserve the first two public prerelease components, and omit dev/ci/rtm prerelease labels. Emit a clear error when the feature band cannot be determined.

  • Useful description of why the change is necessary.
  • Links to issues fixed: required by PR #12180
  • Unit tests: validated stable, servicing, preview, beta, dev, ci, rtm, and invalid forms with an MSBuild harness.

Derive the loose workload manifest folder from NETCoreSdkVersion so stabilized SDK installs use the product feature band rather than the prerelease package version.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: c61e4369-db2e-4ce1-894a-cda1324f6f58
Copilot AI review requested due to automatic review settings July 21, 2026 13:34

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates the local workload manifest installation logic to derive the sdk-manifests feature band from the installed SDK version (NETCoreSdkVersion), fixing scenarios where “stabilized” SDK builds keep a prerelease package version that would otherwise point to the wrong manifest directory.

Changes:

  • Add _DetermineLocalSdkFeatureBand target to compute the SDK feature band from NETCoreSdkVersion (including selective prerelease handling).
  • Update InstallManifestAndDependencies to use the computed feature band for lib\sdk-manifests\... lookup.
  • Add an explicit error when the feature band cannot be determined.

Comment thread build-tools/create-packs/ConfigureLocalWorkload.targets Outdated
Keep malformed SDK versions empty so the feature-band validation reports a clear error instead of creating an invalid prerelease-only path.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: c61e4369-db2e-4ce1-894a-cda1324f6f58
@jonathanpeppers jonathanpeppers added the ready-to-review This PR is ready to review/merge, I think any CI failures are just flaky (ignorable). label Jul 21, 2026
@jonathanpeppers
jonathanpeppers merged commit 515050a into main Jul 22, 2026
44 checks passed
@jonathanpeppers
jonathanpeppers deleted the jonathanpeppers-fix-main-sdk-feature-band branch July 22, 2026 13:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-review This PR is ready to review/merge, I think any CI failures are just flaky (ignorable).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants