Skip to content

Migrate MicroBuild pool and onboard signed pipeline to CFS - #614

Merged
Wiktor Kopec (wiktork) merged 2 commits into
mainfrom
build-pool-cfs
Oct 15, 2026
Merged

Wiktor Kopec (wiktork) merged 2 commits into
mainfrom
build-pool-cfs

Conversation

@wiktork

@wiktork Wiktor Kopec (wiktork) commented Oct 14, 2026 •

Copy link
Copy Markdown
Member
Summary

Migrate internal builds to the stable MicroBuild pool, select the latest installed Visual Studio test runner, and onboard the signed pipeline to Central Feed Services (CFS). This is the bottom layer of the two-PR draft stack; the separate .NET test modernization layer targets this branch. Remote draft CI is intended to provide build and test evidence before review.

Change Log
  • Replace 23 legacy build-pool references across 17 YAML files with VSEng-MicroBuildVSStable.
  • Change the two Windows MSBuild selectors from 17.0 to latest to use the toolchain installed on the stable pool.
  • Update build/yaml/steps/windows/vstest.yaml from VSTest@2 to VSTest@3, explicitly set vsTestVersion: latest, and remove the obsolete issue15537 comments. Build 15686633 failed native Windows x86/x64 test tasks with Visual Studio 2015 is not found. VSTest V2's latest lookup misses VS 18 and falls back to VS 2015; VSTest V3 checks VS 18 first. Preserve the existing test assembly patterns, run settings, conditions, and desktop/native coverage. Native v143 toolsets and build.ps1 remain unchanged.
  • Set settings.networkIsolationPolicy to Permissive,CFSClean2 only in the signed pipeline (definition 11311). CFS onboarding is scoped to that pipeline and its dependencies: CFSClean2 targets the observed MicroBuildSigningPlugin PowerShell Gallery traffic, while Permissive preserves other network access.
  • Leave NuGet.config and NuGet.internal.config unchanged because they already use Azure Artifacts. Leave docs/build.md unchanged and outside this PR's scope.
  • CFS resolution still requires subsequent clean signed-pipeline runs; this PR does not claim the compliance action item is resolved.
Test Methodology
  • python -c "from pathlib import Path; import yaml; files=list(Path(r'build\yaml').rglob('*.yaml')); [yaml.safe_load(p.read_text(encoding='utf-8-sig')) for p in files]; print(f'Parsed {len(files)} YAML files')" — Passed (exit code 0): parsed all 51 build YAML files after the runner fix.
  • git diff --check main...HEAD — Passed (exit code 0): no whitespace errors in the complete lower layer.
  • git diff --check HEAD^...HEAD — Passed (exit code 0): no whitespace errors in the runner-fix commit.
  • & 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' -version '[18.0,19.0)' -latest -products '*' -requires Microsoft.VisualStudio.PackageGroup.TestTools.Core -property installationPath — Passed (exit code 0): selected C:\Program Files\Microsoft Visual Studio\18\Enterprise, matching VSTest V3's first latest-version lookup. Installed Visual Studio version: 18.11.12306.390.
  • & 'C:\Program Files\Microsoft Visual Studio\18\Enterprise\Common7\IDE\Extensions\TestPlatform\vstest.console.exe' 'bin\Debug\AnyCPU\net462\InstrEngineTests.dll' /ListTests /Settings:tests\TestSettings\x64.runsettings — Passed (exit code 0): VSTest 18.11.0 discovered the existing desktop test assembly's tests.
  • & 'C:\Program Files\Microsoft Visual Studio\18\Enterprise\Common7\IDE\Extensions\TestPlatform\vstest.console.exe' 'bin\Debug\AnyCPU\net462\InstrEngineTests.dll' /ListTests /Settings:tests\TestSettings\x86.runsettings — Passed (exit code 0): desktop test discovery also succeeded with x86 run settings. Discovery is not full native test execution.
  • Compared the parsed runner template with its pre-fix version: all parameters, assembly patterns, settings, and conditions other than the requested task version and selector are unchanged.
  • Reviewed the documented build/test procedures in docs/build.md and docs/test.md. Local native builds and integration/unit test execution (.\build.ps1 -IncludeTests) were not run for this pipeline-only layer.
  • No Azure pipeline reruns were manually queued. End-to-end pipeline execution of the runner fix and signed-pipeline/CFS behavior remain unverified until subsequent pipeline runs.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 7d6d0d6e-106e-4224-8dee-1b789b21b8ce
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e92655f9-c1e6-4485-abb6-b6f59acb3e44
@wiktork
Wiktor Kopec (wiktork) marked this pull request as ready for review October 15, 2026 16:30
@wiktork
Wiktor Kopec (wiktork) requested a review from a team as a code owner October 15, 2026 16:30
@wiktork
Wiktor Kopec (wiktork) merged commit 17116e1 into main Oct 15, 2026
7 checks passed
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.

2 participants