Skip to content

Fix uitest pipeline install dotnet10 sdk#47852

Open
LegendaryBlair wants to merge 2 commits into
mainfrom
legendaryblair/fix_uitest_pipeline_install_dotnet10_sdk
Open

Fix uitest pipeline install dotnet10 sdk#47852
LegendaryBlair wants to merge 2 commits into
mainfrom
legendaryblair/fix_uitest_pipeline_install_dotnet10_sdk

Conversation

@LegendaryBlair
Copy link
Copy Markdown
Contributor

@LegendaryBlair LegendaryBlair commented May 13, 2026

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):

error NETSDK1045: The current .NET SDK does not support targeting .NET 10.0.
   Either target .NET 9.0 or lower, or use a version of the .NET SDK that supports .NET 10.0.

…emitted ×179 across every csproj during the Restore solution-level NuGet packages step on both Build UI Tests Only Release_x64 and …_arm64 jobs.

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

  • File: .pipelines/v2/templates/job-build-ui-tests.yml
  • Bump the pinned steps-ensure-dotnet-version.yml parameter from version: '9.0''10.0'.
  • Matches 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)

  • File: .pipelines/v2/templates/pipeline-ui-tests-official-build.yml
  • Add demands: ImageOverride -equals SHINE-VS18-Latest to the agent pool spec.
  • The .NET 10 SDK (≥ 10.0.300) requires MSBuild 18, which only ships with VS 2026. Without this demand, the SHINE pool selects a default image with VS 2022 / MSBuild 17 and restore fails with MSB4236: The SDK 'Microsoft.NET.Sdk' specified could not be found.
  • Mirrors the unconditional pattern in pipeline-ci-build.yml (lines 56–67), which applies the same demand across both SHINE-INT-L and SHINE-OSS-L pools.

Validation

Queued pipeline 161438 against this branch:

Build Commit Result
146821554 4dd13b9 (SDK fix only) NETSDK1045 gone ✅ — exposed VS 2022 / MSBuild 17 mismatch
146825355 97cadbb (SDK + agent demand) Both errors gone ✅ — agent now 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 Unauthorized on the shine-oss/PowerToysPublicDependencies Artifacts feed for newly-released Microsoft.NETCore.App.*/8.0.27 packages. 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.

LegendaryBlair and others added 2 commits May 13, 2026 14:30
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>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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 ImageOverride demand to force the agent image to SHINE-VS18-Latest for 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.

Comment thread .pipelines/v2/templates/pipeline-ui-tests-official-build.yml
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.

3 participants