Skip to content

Conversation

@Arlodotexe
Copy link
Member

@Arlodotexe Arlodotexe commented Oct 2, 2025

Background

On September 30, 2024, GitHub changed the windows-latest runner label to point to windows-2025 (previously windows-2022). The Windows Server 2025 runners removed all preinstalled Windows SDKs except the latest version.

This change immediately broke all CI builds for CommunityToolkit/Labs-Windows. Our builds require two specific Windows SDK versions:

  • SDK 17763 for UWP (TargetFramework)
  • SDK 19041 for WinAppSDK (TargetFramework)

Upgrading these TFM versions would force all consumers to update, so we maintain these specific SDK requirements to preserve backward compatibility.

During the October 2, 2025 WCT sync, we identified a mitigation strategy:

  1. Try windows-2022 to test if previous D drive disk space issues are resolved
  2. Use windows-2022-large as a fallback/prep if standard runner has issues

Problem

Current Impact:

  • All CI builds failing with SDK-related errors
  • Cannot build or test any Labs components
  • Blocks all PR validation and releases
  • Weekly releases cannot be published
  • Component graduation to main repo blocked

Root Cause:

  • windows-latest now resolves to windows-2025
  • Windows 2025 runners only include the latest Windows SDK
  • Our builds require SDK 17763 (UWP) and SDK 19041 (WinAppSDK)
  • These specific SDK versions are no longer present on windows-2025 runners
  • Cannot upgrade TFMs without forcing all consumers to update

Issue: #741

Solution

Pin all Windows runner specifications to windows-2022:

Changes:

  • windows-latestwindows-2022 (2 jobs)
    • Xaml-Style-Check job
    • sign job
  • windows-latest-largewindows-2022 (2 jobs)
    • build job
    • package job
  • Tooling submodule updated with same fix

Strategy:

  1. First pass: Test windows-2022 for ALL jobs to verify if previous D drive disk space issues are resolved
  2. If builds succeed: Confirms windows-2022 is sufficient for all workflows
  3. If disk space errors occur: Will escalate to windows-2022-large for build/package jobs (which specifically addresses out of disk space errors from missing D drive)

Jobs Updated:

  1. Xaml-Style-Check - Quick XAML formatting validation
  2. build - Component builds for UWP and WinAppSDK
  3. package - NuGet package creation for all components
  4. sign - Package signing for releases

Testing:

  • CI will run on this PR to validate all build configurations
  • Success confirms SDK availability and build matrix compatibility
  • If builds fail, we'll evaluate escalating all jobs to -large runners

Closes

Fixes #741

Windows 2025 runners removed all preinstalled SDKs except latest,
breaking all CI builds. Pin to windows-2022 to restore SDK availability.

Changes:
- windows-latest → windows-2022 (test if D drive disk space fixed)
- windows-latest-large → windows-2022-large (prep fallback)
- Update tooling submodule with same fix

Fixes #741
Copy link
Member

@michael-hawker michael-hawker left a comment

Choose a reason for hiding this comment

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

LGTM

@michael-hawker
Copy link
Member

@Arlodotexe I'm pretty sure we'll still need large for the build step at least (it'd also be faster), but we'll see. Though if you switch things back, be sure to cancel old workflows as otherwise they'll clog up the large runner (it at most is configured to run 8 concurrent jobs across all workflows/repos).

@michael-hawker michael-hawker enabled auto-merge (squash) October 2, 2025 18:31
@michael-hawker michael-hawker merged commit 262457e into main Oct 2, 2025
23 of 24 checks passed
@Arlodotexe Arlodotexe deleted the fix/ci-windows-2022-runners branch October 2, 2025 19:35
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.

Windows SDK dependencies removed from windows-latest Action runner

2 participants