Skip to content

Fix .NET 9 integration tests after the servicing SDK update - #38373

Merged
kubaflo merged 2 commits into
mainfrom
kubaflo-integration-package-resolution
Sep 9, 2026
Merged

kubaflo merged 2 commits into
mainfrom
kubaflo-integration-package-resolution

Conversation

@kubaflo

@kubaflo kubaflo commented Sep 9, 2026 •

Copy link
Copy Markdown
Contributor

Note

Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!

Description of Change

Address both .NET 9 integration-test failures exposed by the servicing SDK update in #38318, while preserving its SDK/dependency upgrades:

  • Add the public ASP.NET Core, runtime, and Windows Desktop servicing feeds containing the 9.0.21 targeting/runtime packs. Keep these sources outside the Dependency Flow-managed block.
  • In the integration-test build helper, retain the NETSDK1202 workload end-of-support diagnostic as a warning, rather than promoting it to an error with -warnaserror. The compatibility matrix intentionally exercises previous .NET workloads. Other warnings remain errors; no test cases are skipped, and shipped templates/support policy are unchanged.

The installed SDK is now 10.0.113-servicing.26454.107. When targeting net9.0, it requests 9.0.21 packs, but the new .NET 10 coherent feed supplies 10.0.13 packages and none of the previously configured sources supplies the required 9.0.21 packs. Adding the general dotnet9 feed alone would not help: it does not contain these servicing versions.

The same 26 unique .NET 9 integration cases failed on main build 1587498 and inflight/candidate build 1587610. These builds also reported NETSDK1202 for net9.0-android.

Validation

Final maui-pr build 1589411 succeeded on commit d6ed823714: all 26 jobs passed, with no failed, canceled, pending, or skipped jobs. Build Analysis and Build Insights also passed.

The actual test logs confirm all four affected integration jobs passed, with no missing-package or fatal EOL errors:

Integration job Passed Failed Skipped
Build macOS 67 0 0
Build windows 67 0 0
WindowsTemplates 29 0 0
RunOnAndroid 11 0 0

An isolated restore using the repository's NuGet.config reproduced NU1102 before the feed change for all six package IDs below at exactly 9.0.21. The same restore succeeded afterward; package metadata confirms the intended public sources.

  • Microsoft.AspNetCore.App.Ref
  • Microsoft.WindowsDesktop.App.Ref
  • Microsoft.NETCore.App.Ref
  • Microsoft.NETCore.App.Host.win-x64
  • Microsoft.NETCore.App.Runtime.win-x64
  • Microsoft.NETCore.App.Crossgen2.win-x64

The first PR CI build, 1589155, confirmed the completed affected integration logs no longer contained missing-package errors. RunOnAndroid passed all 11 cases. Build macOS and WindowsTemplates still failed because they promoted NETSDK1202 to an error, motivating the test-helper follow-up.

For that follow-up, the real .NET SDK _CheckForEolWorkloads target fails under -warnaserror and succeeds, with the warning still printed, when adding -warnnotaserror:NETSDK1202. An unrelated control warning still fails. Verified with installed .NET 10 and .NET 11 MSBuild; the integration harness compiles successfully with .NET 10.

Issues Fixed

Fixes the main and inflight/candidate integration regression introduced by #38318. No separate issue was supplied. No other open PR referencing #38318, 9.0.21, or NETSDK1202 was found when preparing the fixes.

Add public servicing feeds for the 9.0.21 runtime and targeting packs requested by the SDK introduced in #38318.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: dbd1bcb1-0ca0-4b92-9828-daa98acc2473
Copilot AI lite review requested due to automatic review settings September 9, 2026 15:03
@kubaflo
kubaflo temporarily deployed to copilot-pat-pool September 9, 2026 15:03 — with GitHub Actions Inactive
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.sh | bash -s -- 38373

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.ps1) } 38373"

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).
There may be pipelines that require an authorized user to comment /azp run to run.

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.

🟢 Approval recommended

The change is a minimal, targeted NuGet source addition consistent with existing feed configuration, with only a minor comment wording nit noted.

Pull request overview

Updates the repo-level NuGet configuration to restore .NET 9 integration test packs after the .NET 10 servicing SDK update changed which 9.0.x packs are requested during net9.0 restores.

Changes:

  • Adds three darc public feeds (aspnetcore/runtime/windowsdesktop) to supply required .NET 9 servicing packs for integration test restores.
  • Keeps the added sources outside the Dependency Flow–managed block to avoid automation overwrites.
File summaries
File Description
NuGet.config Adds additional public darc feeds to restore .NET 9 servicing packs needed by net9.0 integration tests after the SDK update.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 1
  • Review effort level: Lite

Comment thread NuGet.config
<add key="darc-pub-dotnet-dotnet-e17b0d0" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-dotnet-e17b0d08/nuget/v3/index.json" />
<!-- End: Package sources from dotnet-dotnet -->
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
<!-- .NET 9 integration tests need the 9.0.21 targeting/runtime packs requested by the .NET 10 servicing SDK. -->
The integration matrix intentionally tests previous .NET workloads. Keep NETSDK1202 visible while preserving warnings-as-errors for all other MSBuild diagnostics.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: dbd1bcb1-0ca0-4b92-9828-daa98acc2473
Copilot AI review requested due to automatic review settings September 9, 2026 16:55
@kubaflo kubaflo changed the title Fix .NET 9 integration test package sources after SDK update Fix .NET 9 integration tests after the servicing SDK update Sep 9, 2026

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.

🔵 Needs a closer look

The changes adjust global restore feed configuration and warning escalation behavior, which merits final human verification against dependency-flow expectations and CI outcomes.

Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

@kubaflo
kubaflo merged commit b96aa03 into main Sep 9, 2026
33 checks passed
@kubaflo
kubaflo deleted the kubaflo-integration-package-resolution branch September 9, 2026 21:50
@github-actions github-actions Bot added this to the .NET 10 SR11 milestone Sep 9, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 10, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants