From 47b57a001fa2b07e3efaad763a511af842d85ee0 Mon Sep 17 00:00:00 2001 From: Arlo Date: Fri, 15 May 2026 05:31:33 -0500 Subject: [PATCH 01/16] Migrate remaining mentions of windows-2022 to windows-2025 Follow-up to https://github.com/CommunityToolkit/Labs-Windows/pull/803 --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 18e2f357b..ee8c70ba5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -65,7 +65,7 @@ jobs: # Build both Uno.UI/WinUI2/UWP and Uno.WinUI/WinUI3/WindowsAppSDK versions of our packages using a matrix build: needs: [Xaml-Style-Check] - runs-on: windows-2022 + runs-on: windows-2025 # See https://docs.github.com/actions/using-jobs/using-a-matrix-for-your-jobs strategy: @@ -249,7 +249,7 @@ jobs: dotnet-dump analyze ${{ steps.filter.outputs.dump_files }} -c "clrstack" -c "pe -lines" -c "exit" package: - runs-on: windows-2022 + runs-on: windows-2025 needs: [build] strategy: fail-fast: false # prevent one matrix pipeline from being cancelled if one fails, we want them all to run to completion. @@ -380,7 +380,7 @@ jobs: sign: needs: [package] if: ${{ startsWith(github.ref, 'refs/heads/rel/') || startsWith(github.ref, 'refs/tags/') }} - runs-on: windows-2022 + runs-on: windows-2025 permissions: id-token: write # Required for requesting the JWT From bb007c08fdefe0257449239f962482345147035a Mon Sep 17 00:00:00 2001 From: Arlo Date: Fri, 15 May 2026 06:31:54 -0500 Subject: [PATCH 02/16] Upgraded to large runners per https://github.com/CommunityToolkit/Windows/pull/737/ --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ee8c70ba5..453a465c6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,7 +37,7 @@ env: jobs: # This workflow contains a single job called "Xaml-Style-Check" Xaml-Style-Check: - runs-on: windows-2025 + runs-on: windows-2025-large # Steps represent a sequence of tasks that will be executed as part of the job steps: @@ -65,7 +65,7 @@ jobs: # Build both Uno.UI/WinUI2/UWP and Uno.WinUI/WinUI3/WindowsAppSDK versions of our packages using a matrix build: needs: [Xaml-Style-Check] - runs-on: windows-2025 + runs-on: windows-2025-large # See https://docs.github.com/actions/using-jobs/using-a-matrix-for-your-jobs strategy: @@ -249,7 +249,7 @@ jobs: dotnet-dump analyze ${{ steps.filter.outputs.dump_files }} -c "clrstack" -c "pe -lines" -c "exit" package: - runs-on: windows-2025 + runs-on: windows-2025-large needs: [build] strategy: fail-fast: false # prevent one matrix pipeline from being cancelled if one fails, we want them all to run to completion. From 13925b23db395d26404c464d5ad401276bdbd2fd Mon Sep 17 00:00:00 2001 From: Arlo Date: Fri, 15 May 2026 06:51:51 -0500 Subject: [PATCH 03/16] Use non-'large' runner for Xaml-Style-Check job --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 453a465c6..95078520d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,7 +37,7 @@ env: jobs: # This workflow contains a single job called "Xaml-Style-Check" Xaml-Style-Check: - runs-on: windows-2025-large + runs-on: windows-2025 # Steps represent a sequence of tasks that will be executed as part of the job steps: From 77d9391efbc46ecf011422a6795301de63337444 Mon Sep 17 00:00:00 2001 From: Arlo Date: Fri, 15 May 2026 06:59:48 -0500 Subject: [PATCH 04/16] Use 'windows-latest-large' until 'windows-2025-large' is available --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 95078520d..161a45006 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -65,7 +65,7 @@ jobs: # Build both Uno.UI/WinUI2/UWP and Uno.WinUI/WinUI3/WindowsAppSDK versions of our packages using a matrix build: needs: [Xaml-Style-Check] - runs-on: windows-2025-large + runs-on: windows-latest-large # See https://docs.github.com/actions/using-jobs/using-a-matrix-for-your-jobs strategy: @@ -249,7 +249,7 @@ jobs: dotnet-dump analyze ${{ steps.filter.outputs.dump_files }} -c "clrstack" -c "pe -lines" -c "exit" package: - runs-on: windows-2025-large + runs-on: windows-latest-large needs: [build] strategy: fail-fast: false # prevent one matrix pipeline from being cancelled if one fails, we want them all to run to completion. From a4fc356ac9b45c886c40851e569edb4bc31b074d Mon Sep 17 00:00:00 2001 From: Arlo Date: Fri, 15 May 2026 12:52:33 -0500 Subject: [PATCH 05/16] Revert "Use 'windows-latest-large' until 'windows-2025-large' is available" This reverts commit 2da2c9c91bec65a9aadd53b225b3b5265700edf8. --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 161a45006..95078520d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -65,7 +65,7 @@ jobs: # Build both Uno.UI/WinUI2/UWP and Uno.WinUI/WinUI3/WindowsAppSDK versions of our packages using a matrix build: needs: [Xaml-Style-Check] - runs-on: windows-latest-large + runs-on: windows-2025-large # See https://docs.github.com/actions/using-jobs/using-a-matrix-for-your-jobs strategy: @@ -249,7 +249,7 @@ jobs: dotnet-dump analyze ${{ steps.filter.outputs.dump_files }} -c "clrstack" -c "pe -lines" -c "exit" package: - runs-on: windows-latest-large + runs-on: windows-2025-large needs: [build] strategy: fail-fast: false # prevent one matrix pipeline from being cancelled if one fails, we want them all to run to completion. From e1911bf41dbb22d99120a99d39a9ed35f71c62d3 Mon Sep 17 00:00:00 2001 From: Arlo Date: Tue, 19 May 2026 08:10:59 -0500 Subject: [PATCH 06/16] Remove manual Windows SDK install from CI, use only preinstalled 26100 SDK --- .github/workflows/build.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 95078520d..a9fd5d14e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -299,10 +299,6 @@ jobs: --skip vswin --verbose - - name: Install Windows SDKs - shell: pwsh - run: ./tooling/Install-WindowsSdk.ps1 - - name: Add msbuild to PATH uses: microsoft/setup-msbuild@v2 with: From 371db8203abc96fee2e3f61acd5d842072dfef00 Mon Sep 17 00:00:00 2001 From: Arlo Date: Tue, 19 May 2026 13:21:33 -0500 Subject: [PATCH 07/16] Bump tooling pointer to include ISO-based SDK installer --- tooling | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tooling b/tooling index 5ebeaabec..c98f3db3c 160000 --- a/tooling +++ b/tooling @@ -1 +1 @@ -Subproject commit 5ebeaabeccc7a1d157ab40b784686a8758d15766 +Subproject commit c98f3db3c2579adcf63a4bb470e7c552da182a13 From 2dcf20ff33ddc9f04c9fb557ed1a74f5ab5691df Mon Sep 17 00:00:00 2001 From: Arlo Date: Tue, 19 May 2026 13:26:07 -0500 Subject: [PATCH 08/16] Use ISO-based Windows SDK installer in CI, target 19041 --- .github/workflows/build.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a9fd5d14e..078c09ef8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -175,6 +175,10 @@ jobs: --skip vswin --verbose + - name: Install Windows SDKs + shell: pwsh + run: ./tooling/Install-WindowsSdkISO.ps1 19041 + - name: Add msbuild to PATH uses: microsoft/setup-msbuild@v2 if: ${{ env.HAS_BUILDABLE_COMPONENTS == 'true' }} From 71d18d2dfd8001675bfd82827fc56886ec5971c0 Mon Sep 17 00:00:00 2001 From: Sergio Pedri Date: Wed, 16 Sep 2026 10:18:27 -0700 Subject: [PATCH 09/16] Update tooling submodule to PR 315 head Pin tooling to CommunityToolkit/Tooling-Windows-Submodule#315 for end-to-end validation before merging the upstream PR. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- tooling | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tooling b/tooling index c98f3db3c..0b619e9e9 160000 --- a/tooling +++ b/tooling @@ -1 +1 @@ -Subproject commit c98f3db3c2579adcf63a4bb470e7c552da182a13 +Subproject commit 0b619e9e9f10222b5857dc3a0bedb3870ee901de From 2161b7e0346008a267e6d207d291aa8466133d65 Mon Sep 17 00:00:00 2001 From: Arlo Date: Wed, 16 Sep 2026 12:39:52 -0500 Subject: [PATCH 10/16] Remove experimental "Install Windows SDKs" CI step --- .github/workflows/build.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 078c09ef8..2b32aaade 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -174,11 +174,7 @@ jobs: --skip vswinworkloads --skip vswin --verbose - - - name: Install Windows SDKs - shell: pwsh - run: ./tooling/Install-WindowsSdkISO.ps1 19041 - + - name: Add msbuild to PATH uses: microsoft/setup-msbuild@v2 if: ${{ env.HAS_BUILDABLE_COMPONENTS == 'true' }} From 9be869aa143bd5358d86d0457cfb6d185ecadce0 Mon Sep 17 00:00:00 2001 From: Arlo Date: Wed, 16 Sep 2026 12:51:13 -0500 Subject: [PATCH 11/16] Update global.json to .NET 10.0.401 --- global.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/global.json b/global.json index 338ca727d..5dc068767 100644 --- a/global.json +++ b/global.json @@ -1,10 +1,10 @@ -{ - "sdk": { - "version": "9.0.310", - "rollForward": "latestFeature" - }, - "msbuild-sdks": - { - "MSBuild.Sdk.Extras":"3.0.23" - } -} +{ + "sdk": { + "version": "10.0.401", + "rollForward": "latestFeature" + }, + "msbuild-sdks": + { + "MSBuild.Sdk.Extras":"3.0.23" + } +} From 07b541b07dda2c3019dab59c7d5bfa71f3c629e0 Mon Sep 17 00:00:00 2001 From: Sergio Pedri Date: Tue, 20 Oct 2026 12:37:38 -0700 Subject: [PATCH 12/16] Update tooling and .NET SDK to 10.0.402 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 61f93df2-65f8-429a-8440-6298c871fe79 --- .github/workflows/build.yml | 2 +- global.json | 2 +- tooling | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2b32aaade..55c070c87 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,7 +24,7 @@ on: merge_group: env: - DOTNET_VERSION: '9.0.310' # Only used by jobs that cannot access global.json (no checkout/artifact-only jobs) + DOTNET_VERSION: '10.0.402' # Only used by jobs that cannot access global.json (no checkout/artifact-only jobs) ENABLE_DIAGNOSTICS: true #COREHOST_TRACE: 1 diff --git a/global.json b/global.json index 5dc068767..37457398e 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "10.0.401", + "version": "10.0.402", "rollForward": "latestFeature" }, "msbuild-sdks": diff --git a/tooling b/tooling index 0b619e9e9..e9ebc1c1e 160000 --- a/tooling +++ b/tooling @@ -1 +1 @@ -Subproject commit 0b619e9e9f10222b5857dc3a0bedb3870ee901de +Subproject commit e9ebc1c1e2adae8148e854d40af676b00256fc51 From 1e12bf865f378467b0b7c533a787264e7c1646c7 Mon Sep 17 00:00:00 2001 From: Sergio Pedri Date: Sun, 25 Oct 2026 20:52:15 -0700 Subject: [PATCH 13/16] Use installed SDK metadata for .NET UWP builds Set CsWinRTWindowsMetadata=sdk for AppServices, Notifications, and DependencyPropertyGenerator without changing their Windows 17763 targets or minimum OS version. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .../AppServices/src/CommunityToolkit.AppServices.csproj | 5 +++++ ...CommunityToolkit.WinUI.DependencyPropertyGenerator.csproj | 5 +++++ .../Notifications/src/CommunityToolkit.Notifications.csproj | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/components/AppServices/src/CommunityToolkit.AppServices.csproj b/components/AppServices/src/CommunityToolkit.AppServices.csproj index b30639268..94f9a1b11 100644 --- a/components/AppServices/src/CommunityToolkit.AppServices.csproj +++ b/components/AppServices/src/CommunityToolkit.AppServices.csproj @@ -18,6 +18,11 @@ + + + sdk + + diff --git a/components/DependencyPropertyGenerator/src/CommunityToolkit.WinUI.DependencyPropertyGenerator.csproj b/components/DependencyPropertyGenerator/src/CommunityToolkit.WinUI.DependencyPropertyGenerator.csproj index de4d74d91..fab91268f 100644 --- a/components/DependencyPropertyGenerator/src/CommunityToolkit.WinUI.DependencyPropertyGenerator.csproj +++ b/components/DependencyPropertyGenerator/src/CommunityToolkit.WinUI.DependencyPropertyGenerator.csproj @@ -24,6 +24,11 @@ + + + sdk + + diff --git a/components/Notifications/src/CommunityToolkit.Notifications.csproj b/components/Notifications/src/CommunityToolkit.Notifications.csproj index 208bb3c6e..e9ecb2cc0 100644 --- a/components/Notifications/src/CommunityToolkit.Notifications.csproj +++ b/components/Notifications/src/CommunityToolkit.Notifications.csproj @@ -24,4 +24,9 @@ + + + + sdk + From 285e8e7d1641228238b1dd3a09e8537468655275 Mon Sep 17 00:00:00 2001 From: Sergio Pedri Date: Sun, 25 Oct 2026 21:41:53 -0700 Subject: [PATCH 14/16] Use SDK-provided NuGet pack tasks Remove the NuGet.Build.Tasks.Pack 6.12.1 override. It misreads the version-4 assets produced by NuGet 7 and loses implicit platform versions, causing NU1012 during WinUI 3 multi-target packaging. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- Directory.Build.targets | 1 - tooling | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/Directory.Build.targets b/Directory.Build.targets index 77e29d5d4..730da9b8c 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -5,7 +5,6 @@ - diff --git a/tooling b/tooling index e9ebc1c1e..f02adf9e2 160000 --- a/tooling +++ b/tooling @@ -1 +1 @@ -Subproject commit e9ebc1c1e2adae8148e854d40af676b00256fc51 +Subproject commit f02adf9e2d1ec1fd4865116bc786e217298985af From 7c39ccc861e9d9b66a486d581baa1f610b8bd509 Mon Sep 17 00:00:00 2001 From: Sergio Pedri Date: Mon, 26 Oct 2026 14:07:30 -0700 Subject: [PATCH 15/16] Enable Windows long paths in CI builds and packaging Enable LongPathsEnabled before checkout and build tools start in the Windows build and packaging jobs. Keep the source generator project unchanged instead of overriding its generated editorconfig filename. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/workflows/build.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 55c070c87..c6a20afd1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -103,6 +103,11 @@ jobs: exit 1 } + - name: Enable Windows long paths + shell: pwsh + run: | + Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name LongPathsEnabled -Value 1 -ErrorAction Stop + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - name: Checkout Repository uses: actions/checkout@v4 @@ -260,6 +265,11 @@ jobs: VERSION_PROPERTY: ${{ (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/rel/') || startsWith(github.ref, 'refs/tags/release/')) && format('build.{0}', github.run_number) || format('pull-{0}.{1}', github.event.number, github.run_number) }} steps: + - name: Enable Windows long paths + shell: pwsh + run: | + Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name LongPathsEnabled -Value 1 -ErrorAction Stop + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - name: Checkout Repository uses: actions/checkout@v4 From 02e87a4e09e3a4b42330958d476da4981c5257a2 Mon Sep 17 00:00:00 2001 From: Sergio Pedri Date: Mon, 26 Oct 2026 14:52:56 -0700 Subject: [PATCH 16/16] Use x64 MSBuild for Windows CI builds and packaging Avoid the x86 .NET Framework long-path regression tracked in dotnet/msbuild#15333. LongPathsEnabled alone is insufficient because affected x86 hosts initialize legacy CLR path handling; the x64 host already explicitly disables those compatibility switches. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c6a20afd1..81ff65cb0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -185,6 +185,7 @@ jobs: if: ${{ env.HAS_BUILDABLE_COMPONENTS == 'true' }} with: vs-version: '[17.9,)' + msbuild-architecture: x64 # Generate full solution with all projects (sample gallery heads, components, tests) - name: Generate solution with ${{ matrix.multitarget }} gallery, components and tests @@ -313,6 +314,7 @@ jobs: uses: microsoft/setup-msbuild@v2 with: vs-version: '[17.9,)' + msbuild-architecture: x64 - name: Determine scheduled release commit range if: ${{ startsWith(github.ref, 'refs/tags/') }}