Fix uitest pipeline install dotnet10 sdk#47852
Open
LegendaryBlair wants to merge 2 commits into
Open
Conversation
The .NET 10 upgrade (PR #41280) updated job-build-project.yml to install the .NET 10 SDK on the agent, but missed the parallel change in job-build-ui-tests.yml, which still pinned 'version: 9.0'. As a result, the scheduled UI Test Automation pipeline (Dart/161438) has been failing daily since 2026-04-30 with NETSDK1045 across all 179 csproj restores: error NETSDK1045: The current .NET SDK does not support targeting .NET 10.0. Bump the pinned SDK version from 9.0 to 10.0 to match the rest of the pipeline. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The official-build path of the UI Test Automation pipeline (Dart/161438) was missing the agent image demand that the main CI pipeline uses. Without pinning to SHINE-VS18-Latest, the SHINE-OSS-L pool defaults to a VS 2022 agent (MSBuild 17.x), which cannot resolve .NET 10 SDK references: Version 10.0.300 of the .NET SDK requires at least version 18.0.0 of MSBuild. The current available version of MSBuild is 17.14.40.60911. ... MSB4236: The SDK 'Microsoft.NET.Sdk' specified could not be found. Mirror the demand already present in pipeline-ci-build.yml and pipeline-ui-tests-full-build.yml. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the UI test build pipeline templates to use a newer .NET SDK channel and to constrain the agent image used for the “official build” UI test build stage.
Changes:
- Update the UI test build job to install .NET SDK channel
10.0. - Add an
ImageOverridedemand to force the agent image toSHINE-VS18-Latestfor the official-build UI test build stage.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| .pipelines/v2/templates/pipeline-ui-tests-official-build.yml | Adds an agent demand to select the intended SHINE VS18 image for the UI test build stage. |
| .pipelines/v2/templates/job-build-ui-tests.yml | Updates the .NET SDK channel used when building UI test projects to 10.0. |
niels9001
approved these changes
May 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The scheduled UI Test Automation pipeline (Dart/161438) has been failing daily since 2026-04-30 because PR #41280 (
.NET 10 Upgrade) updated the main build template (job-build-project.yml) for .NET 10 / VS 2026 but the parallel changes were missed in the UI Test Automation templates.Symptoms in recent runs (e.g. build #20260512.1):
…emitted ×179 across every csproj during the Restore solution-level NuGet packages step on both
Build UI Tests Only Release_x64and…_arm64jobs.Changes
This PR mirrors the two pipeline changes that PR #41280 already applied to the main CI templates.
1. Install the .NET 10 SDK on the build agent
.pipelines/v2/templates/job-build-ui-tests.ymlsteps-ensure-dotnet-version.ymlparameter fromversion: '9.0'→'10.0'.job-build-project.yml, which already installs the .NET 10 SDK alongside 6.0/8.0.2. Pin the build agent image to VS 2026 (MSBuild 18)
.pipelines/v2/templates/pipeline-ui-tests-official-build.ymldemands: ImageOverride -equals SHINE-VS18-Latestto the agent pool spec.MSB4236: The SDK 'Microsoft.NET.Sdk' specified could not be found.pipeline-ci-build.yml(lines 56–67), which applies the same demand across bothSHINE-INT-LandSHINE-OSS-Lpools.Validation
Queued pipeline 161438 against this branch:
1468215544dd13b9(SDK fix only)NETSDK1045gone ✅ — exposed VS 2022 / MSBuild 17 mismatch14682535597cadbb(SDK + agent demand)Visual Studio\18\Enterprise\After this PR, the pipeline reaches NuGet restore and now hits a separate, pre-existing issue from the April 13–29 failure window:
401 Unauthorizedon theshine-oss/PowerToysPublicDependenciesArtifacts feed for newly-releasedMicrosoft.NETCore.App.*/8.0.27packages. That requires feed-admin action (granting the Dart pipeline build identity "save from upstream" on the feed, or pre-seeding those package versions) and is out of scope for this PR.