From ffe6847cf1791212129cccc84a5751a572e62dbe Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Mon, 26 Aug 2024 15:59:44 -0500 Subject: [PATCH 01/33] Enable crash dumps and diagnostic logs for vstest --- .github/workflows/build.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6c509b4f..9fb94165 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -160,7 +160,7 @@ jobs: - name: Run component tests against ${{ matrix.multitarget }} if: ${{ matrix.multitarget == 'uwp' || matrix.multitarget == 'wasdk' }} id: test-platform - run: vstest.console.exe ./tooling/**/CommunityToolkit.Tests.${{ matrix.multitarget }}.build.appxrecipe /Framework:FrameworkUap10 /logger:"trx;LogFileName=${{ matrix.multitarget }}.trx" /Blame + run: vstest.console.exe ./tooling/**/CommunityToolkit.Tests.${{ matrix.multitarget }}.build.appxrecipe /Framework:FrameworkUap10 /logger:"trx;LogFileName=${{ matrix.multitarget }}.trx" /Blame:"CollectDump;DumpType=Full;CollectHangDump;TestTimeout=30m;HangDumpType=Full" /Diag:"${{ github.workspace }}/vstest-diagnostic-log.txt" - name: Create test reports run: | @@ -196,6 +196,13 @@ jobs: name: CrashDumps-${{ matrix.multitarget }}-winui${{ matrix.winui }} path: '${{ github.workspace }}/CrashDumps' + - name: Artifact - vstest-diagnostic-log + uses: actions/upload-artifact@v4 + if: always() + with: + name: 'vstest-diagnostic-log-${{ matrix.multitarget }}-winui${{ matrix.winui }}.txt' + path: '${{ github.workspace }}/vstest-diagnostic-log.txt' + - name: Analyze Dump if: ${{ steps.detect-dump.outputs.DUMP_FILE != '' && (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }} run: | From a9d8e6ab28a37e3f5b2d5125cec9c78eae248313 Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Tue, 27 Aug 2024 12:39:32 -0500 Subject: [PATCH 02/33] Enable crash dumps per-process --- .github/workflows/build.yml | 48 +++++++++++++++++++++++++++++-------- 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9fb94165..7ec01b93 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -82,14 +82,42 @@ jobs: maximum-size: 32GB disk-root: "C:" - - name: Enable User-Mode Dumps collecting - if: ${{ env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '' }} - shell: powershell + - name: Enable Crash Dumps + if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} + shell: pwsh run: | - New-Item '${{ github.workspace }}\CrashDumps' -Type Directory - Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps' -Name 'DumpFolder' -Type ExpandString -Value '${{ github.workspace }}\CrashDumps' - Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps' -Name 'DumpCount' -Type DWord -Value '10' - Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps' -Name 'DumpType' -Type DWord -Value '2' + # If we set the registry from a 32-bit process on a 64-bit machine, we will set the "virtualized" syswow registry. + # For crash dump collection we always want to set the "native" registry, so we make sure to invoke the native cmd.exe + $nativeCmdPath = "$env:SystemRoot\system32\cmd.exe" + if([Environment]::Is64BitOperatingSystem -and ![Environment]::Is64BitProcess) + { + # The "sysnative" path is a 'magic' path that allows a 32-bit process to invoke the native 64-bit cmd.exe. + $nativeCmdPath = "$env:SystemRoot\sysnative\cmd.exe" + } + + if(!$dumpFolder) + { + $dumpFolder = "C:\dumps" + } + + function Enable-CrashDumpsForProcesses { + Param([string[]]$namesOfProcessesForDumpCollection) + + foreach($procName in $namesOfProcessesForDumpCollection) + { + Write-Host "Enabling local crash dumps for $procName" + & $nativeCmdPath /c reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\$procName" /v DumpFolder /t REG_EXPAND_SZ /d $dumpFolder /f + & $nativeCmdPath /c reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\$procName" /v DumpType /t REG_DWORD /d 2 /f + & $nativeCmdPath /c reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\$procName" /v DumpCount /t REG_DWORD /d 3 /f + } + } + + # enable dump collection for our test apps: + $namesOfProcessesForDumpCollection = @( + "CommunityToolkit.Tests.${{ matrix.multitarget }}.exe", + "VSTest.Console.exe") + + Enable-CrashDumpsForProcesses $namesOfProcessesForDumpCollection - name: Install .NET SDK v${{ env.DOTNET_VERSION }} uses: actions/setup-dotnet@v4 @@ -187,14 +215,14 @@ jobs: if: always() working-directory: ${{ github.workspace }} run: | - echo "DUMP_FILE=$(Get-ChildItem .\CrashDumps\*.dmp -ErrorAction SilentlyContinue)" >> $env:GITHUB_OUTPUT + echo "DUMP_FILE=$(Get-ChildItem .C:/dumps/*.dmp -ErrorAction SilentlyContinue)" >> $env:GITHUB_OUTPUT - - name: Artifact - WER crash dumps + - name: Artifact - Process Dumps uses: actions/upload-artifact@v4 if: ${{ (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }} with: name: CrashDumps-${{ matrix.multitarget }}-winui${{ matrix.winui }} - path: '${{ github.workspace }}/CrashDumps' + path: C:/dumps/*.*dmp - name: Artifact - vstest-diagnostic-log uses: actions/upload-artifact@v4 From c1d7cfe434736d4493d2d76f6232d9ecb941fdf8 Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Tue, 27 Aug 2024 13:55:28 -0500 Subject: [PATCH 03/33] Install procdump for crash dumps --- .github/workflows/build.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7ec01b93..cfcb8c68 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -82,6 +82,13 @@ jobs: maximum-size: 32GB disk-root: "C:" + - name: Install procdump + if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} + shell: pwsh + run: | + Invoke-WebRequest -Uri https://download.sysinternals.com/files/Procdump.zip -OutFile Procdump.zip + Expand-Archive -Path Procdump.zip -DestinationPath $env:ProgramFiles + - name: Enable Crash Dumps if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} shell: pwsh From 57851bb041c44e6c1fc6ad4b5ab49ef7c1a4622c Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Tue, 27 Aug 2024 15:10:40 -0500 Subject: [PATCH 04/33] Set PROCDUMP_PATH environment variable --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cfcb8c68..bb6acb7b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -88,6 +88,7 @@ jobs: run: | Invoke-WebRequest -Uri https://download.sysinternals.com/files/Procdump.zip -OutFile Procdump.zip Expand-Archive -Path Procdump.zip -DestinationPath $env:ProgramFiles + $env:PROCDUMP_PATH = $env:ProgramFiles - name: Enable Crash Dumps if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} From 86266b312dcc9ea6157c5ddf99ed3dfda6dabd51 Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Tue, 27 Aug 2024 16:42:16 -0500 Subject: [PATCH 05/33] Export PROCDUMP_PATH to github env variables --- .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 bb6acb7b..c540b95a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -88,7 +88,7 @@ jobs: run: | Invoke-WebRequest -Uri https://download.sysinternals.com/files/Procdump.zip -OutFile Procdump.zip Expand-Archive -Path Procdump.zip -DestinationPath $env:ProgramFiles - $env:PROCDUMP_PATH = $env:ProgramFiles + echo "PROCDUMP_PATH = $env:ProgramFiles" >> $env:GITHUB_ENV - name: Enable Crash Dumps if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} From 05a5aaddad8981baae9f243399b3a870ee870c86 Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Tue, 27 Aug 2024 17:20:16 -0500 Subject: [PATCH 06/33] Declared PROCDUMP_PATH as job-level env variable --- .github/workflows/build.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c540b95a..504901e2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -59,6 +59,9 @@ jobs: needs: [Xaml-Style-Check] runs-on: windows-2022 + env: + PROCDUMP_PATH: c:\procdump\ + # See https://docs.github.com/actions/using-jobs/using-a-matrix-for-your-jobs strategy: fail-fast: false # prevent one matrix pipeline from being cancelled if one fails, we want them all to run to completion. @@ -87,8 +90,7 @@ jobs: shell: pwsh run: | Invoke-WebRequest -Uri https://download.sysinternals.com/files/Procdump.zip -OutFile Procdump.zip - Expand-Archive -Path Procdump.zip -DestinationPath $env:ProgramFiles - echo "PROCDUMP_PATH = $env:ProgramFiles" >> $env:GITHUB_ENV + Expand-Archive -Path Procdump.zip -DestinationPath $PROCDUMP_PATH - name: Enable Crash Dumps if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} From ef67b51e95c6ac2357caca44536610875f0337c9 Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Wed, 28 Aug 2024 08:36:58 -0500 Subject: [PATCH 07/33] Fix syntax error --- .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 504901e2..c919a77b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -90,7 +90,7 @@ jobs: shell: pwsh run: | Invoke-WebRequest -Uri https://download.sysinternals.com/files/Procdump.zip -OutFile Procdump.zip - Expand-Archive -Path Procdump.zip -DestinationPath $PROCDUMP_PATH + Expand-Archive -Path Procdump.zip -DestinationPath ${{ env.PROCDUMP_PATH }} - name: Enable Crash Dumps if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} From 70f8c4e656c002ca6ffcd5c39389259458645600 Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Wed, 28 Aug 2024 14:45:08 -0500 Subject: [PATCH 08/33] Use env variable for procdump output --- .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 c919a77b..83e84ed0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -107,7 +107,7 @@ jobs: if(!$dumpFolder) { - $dumpFolder = "C:\dumps" + $dumpFolder = "${{ env.PROCDUMP_PATH }}" } function Enable-CrashDumpsForProcesses { @@ -225,14 +225,14 @@ jobs: if: always() working-directory: ${{ github.workspace }} run: | - echo "DUMP_FILE=$(Get-ChildItem .C:/dumps/*.dmp -ErrorAction SilentlyContinue)" >> $env:GITHUB_OUTPUT + echo "DUMP_FILE=$(Get-ChildItem ${{ env.PROCDUMP_PATH }}/*.dmp -ErrorAction SilentlyContinue)" >> $env:GITHUB_OUTPUT - name: Artifact - Process Dumps uses: actions/upload-artifact@v4 if: ${{ (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }} with: name: CrashDumps-${{ matrix.multitarget }}-winui${{ matrix.winui }} - path: C:/dumps/*.*dmp + path: ${{ env.PROCDUMP_PATH }}/*.dmp - name: Artifact - vstest-diagnostic-log uses: actions/upload-artifact@v4 From d2d8068ed0773bcbd22d6347940849f19596d01f Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Wed, 28 Aug 2024 17:23:28 -0500 Subject: [PATCH 09/33] Fixed syntax error caused by extra forward slash --- .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 83e84ed0..7b340f50 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -225,14 +225,14 @@ jobs: if: always() working-directory: ${{ github.workspace }} run: | - echo "DUMP_FILE=$(Get-ChildItem ${{ env.PROCDUMP_PATH }}/*.dmp -ErrorAction SilentlyContinue)" >> $env:GITHUB_OUTPUT + echo "DUMP_FILE=$(Get-ChildItem ${{ env.PROCDUMP_PATH }}*.dmp -ErrorAction SilentlyContinue)" >> $env:GITHUB_OUTPUT - name: Artifact - Process Dumps uses: actions/upload-artifact@v4 if: ${{ (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }} with: name: CrashDumps-${{ matrix.multitarget }}-winui${{ matrix.winui }} - path: ${{ env.PROCDUMP_PATH }}/*.dmp + path: ${{ env.PROCDUMP_PATH }}*.dmp - name: Artifact - vstest-diagnostic-log uses: actions/upload-artifact@v4 From 6382741a07e9c2d3ad3f4360290835af463e1e1b Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Fri, 30 Aug 2024 11:47:10 -0500 Subject: [PATCH 10/33] Set procdump path to working directory, fix .dmp artifact upload, cleanup extra script --- .github/workflows/build.yml | 43 +++---------------------------------- 1 file changed, 3 insertions(+), 40 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7b340f50..eef224d6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -60,7 +60,7 @@ jobs: runs-on: windows-2022 env: - PROCDUMP_PATH: c:\procdump\ + PROCDUMP_PATH: ${{ github.workspace }} # See https://docs.github.com/actions/using-jobs/using-a-matrix-for-your-jobs strategy: @@ -92,43 +92,6 @@ jobs: Invoke-WebRequest -Uri https://download.sysinternals.com/files/Procdump.zip -OutFile Procdump.zip Expand-Archive -Path Procdump.zip -DestinationPath ${{ env.PROCDUMP_PATH }} - - name: Enable Crash Dumps - if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} - shell: pwsh - run: | - # If we set the registry from a 32-bit process on a 64-bit machine, we will set the "virtualized" syswow registry. - # For crash dump collection we always want to set the "native" registry, so we make sure to invoke the native cmd.exe - $nativeCmdPath = "$env:SystemRoot\system32\cmd.exe" - if([Environment]::Is64BitOperatingSystem -and ![Environment]::Is64BitProcess) - { - # The "sysnative" path is a 'magic' path that allows a 32-bit process to invoke the native 64-bit cmd.exe. - $nativeCmdPath = "$env:SystemRoot\sysnative\cmd.exe" - } - - if(!$dumpFolder) - { - $dumpFolder = "${{ env.PROCDUMP_PATH }}" - } - - function Enable-CrashDumpsForProcesses { - Param([string[]]$namesOfProcessesForDumpCollection) - - foreach($procName in $namesOfProcessesForDumpCollection) - { - Write-Host "Enabling local crash dumps for $procName" - & $nativeCmdPath /c reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\$procName" /v DumpFolder /t REG_EXPAND_SZ /d $dumpFolder /f - & $nativeCmdPath /c reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\$procName" /v DumpType /t REG_DWORD /d 2 /f - & $nativeCmdPath /c reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\$procName" /v DumpCount /t REG_DWORD /d 3 /f - } - } - - # enable dump collection for our test apps: - $namesOfProcessesForDumpCollection = @( - "CommunityToolkit.Tests.${{ matrix.multitarget }}.exe", - "VSTest.Console.exe") - - Enable-CrashDumpsForProcesses $namesOfProcessesForDumpCollection - - name: Install .NET SDK v${{ env.DOTNET_VERSION }} uses: actions/setup-dotnet@v4 with: @@ -225,14 +188,14 @@ jobs: if: always() working-directory: ${{ github.workspace }} run: | - echo "DUMP_FILE=$(Get-ChildItem ${{ env.PROCDUMP_PATH }}*.dmp -ErrorAction SilentlyContinue)" >> $env:GITHUB_OUTPUT + echo "DUMP_FILE=$(Get-ChildItem ${{ env.PROCDUMP_PATH }}/**/*.dmp -ErrorAction SilentlyContinue)" >> $env:GITHUB_OUTPUT - name: Artifact - Process Dumps uses: actions/upload-artifact@v4 if: ${{ (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }} with: name: CrashDumps-${{ matrix.multitarget }}-winui${{ matrix.winui }} - path: ${{ env.PROCDUMP_PATH }}*.dmp + path: ${{ env.PROCDUMP_PATH }}/**/*.dmp - name: Artifact - vstest-diagnostic-log uses: actions/upload-artifact@v4 From ce405d2f1fa5401459ffa912680d39e4b98cc52d Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Fri, 30 Aug 2024 12:13:08 -0500 Subject: [PATCH 11/33] Install procdump after repo checkout --- .github/workflows/build.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index eef224d6..6e4f8476 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -85,13 +85,6 @@ jobs: maximum-size: 32GB disk-root: "C:" - - name: Install procdump - if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} - shell: pwsh - run: | - Invoke-WebRequest -Uri https://download.sysinternals.com/files/Procdump.zip -OutFile Procdump.zip - Expand-Archive -Path Procdump.zip -DestinationPath ${{ env.PROCDUMP_PATH }} - - name: Install .NET SDK v${{ env.DOTNET_VERSION }} uses: actions/setup-dotnet@v4 with: @@ -107,6 +100,13 @@ jobs: with: submodules: recursive + - name: Install procdump + if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} + shell: pwsh + run: | + Invoke-WebRequest -Uri https://download.sysinternals.com/files/Procdump.zip -OutFile Procdump.zip + Expand-Archive -Path Procdump.zip -DestinationPath ${{ env.PROCDUMP_PATH }} + # Restore Tools from Manifest list in the Repository - name: Restore dotnet tools run: dotnet tool restore From 60dfda6ede97593bca676b004cc54f476b94b88c Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Fri, 30 Aug 2024 12:35:00 -0500 Subject: [PATCH 12/33] Use unique artifact names for ilc-repro --- .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 6e4f8476..757e3fd0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -179,7 +179,7 @@ jobs: uses: actions/upload-artifact@v4 if: ${{ (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }} with: - name: ilc-repro + name: ilc-repro-${{ matrix.multitarget }}-winui${{ matrix.winui }} path: ./*.zip # https://github.com/dorny/paths-filter#custom-processing-of-changed-files From 8ccb73ff15358cd6918f20de5213eeffaa351daf Mon Sep 17 00:00:00 2001 From: Arlo Date: Mon, 16 Dec 2024 11:51:20 -0600 Subject: [PATCH 13/33] Update GitHub Actions runner to use 'windows-latest' instead of 'windows-latest-large' --- .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 757e3fd0..f26df526 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -57,7 +57,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-latest env: PROCDUMP_PATH: ${{ github.workspace }} From caf6b4d103724c3b17d954cb730df128f7e36ae6 Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Mon, 26 Aug 2024 15:59:44 -0500 Subject: [PATCH 14/33] Enable crash dumps and diagnostic logs for vstest --- .github/workflows/build.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f26df526..748ce3df 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -204,6 +204,13 @@ jobs: name: 'vstest-diagnostic-log-${{ matrix.multitarget }}-winui${{ matrix.winui }}.txt' path: '${{ github.workspace }}/vstest-diagnostic-log.txt' + - name: Artifact - vstest-diagnostic-log + uses: actions/upload-artifact@v4 + if: always() + with: + name: 'vstest-diagnostic-log-${{ matrix.multitarget }}-winui${{ matrix.winui }}.txt' + path: '${{ github.workspace }}/vstest-diagnostic-log.txt' + - name: Analyze Dump if: ${{ steps.detect-dump.outputs.DUMP_FILE != '' && (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }} run: | From ad3f7be16b5fd21943c54cf0746dfbe85b0ab78b Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Tue, 27 Aug 2024 13:55:28 -0500 Subject: [PATCH 15/33] Install procdump for crash dumps --- .github/workflows/build.yml | 44 +++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 748ce3df..6ccfc43a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -85,6 +85,50 @@ jobs: maximum-size: 32GB disk-root: "C:" + - name: Install procdump + if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} + shell: pwsh + run: | + Invoke-WebRequest -Uri https://download.sysinternals.com/files/Procdump.zip -OutFile Procdump.zip + Expand-Archive -Path Procdump.zip -DestinationPath $env:ProgramFiles + + - name: Enable Crash Dumps + if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} + shell: pwsh + run: | + # If we set the registry from a 32-bit process on a 64-bit machine, we will set the "virtualized" syswow registry. + # For crash dump collection we always want to set the "native" registry, so we make sure to invoke the native cmd.exe + $nativeCmdPath = "$env:SystemRoot\system32\cmd.exe" + if([Environment]::Is64BitOperatingSystem -and ![Environment]::Is64BitProcess) + { + # The "sysnative" path is a 'magic' path that allows a 32-bit process to invoke the native 64-bit cmd.exe. + $nativeCmdPath = "$env:SystemRoot\sysnative\cmd.exe" + } + + if(!$dumpFolder) + { + $dumpFolder = "C:\dumps" + } + + function Enable-CrashDumpsForProcesses { + Param([string[]]$namesOfProcessesForDumpCollection) + + foreach($procName in $namesOfProcessesForDumpCollection) + { + Write-Host "Enabling local crash dumps for $procName" + & $nativeCmdPath /c reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\$procName" /v DumpFolder /t REG_EXPAND_SZ /d $dumpFolder /f + & $nativeCmdPath /c reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\$procName" /v DumpType /t REG_DWORD /d 2 /f + & $nativeCmdPath /c reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\$procName" /v DumpCount /t REG_DWORD /d 3 /f + } + } + + # enable dump collection for our test apps: + $namesOfProcessesForDumpCollection = @( + "CommunityToolkit.Tests.${{ matrix.multitarget }}.exe", + "VSTest.Console.exe") + + Enable-CrashDumpsForProcesses $namesOfProcessesForDumpCollection + - name: Install .NET SDK v${{ env.DOTNET_VERSION }} uses: actions/setup-dotnet@v4 with: From a70b8ba80d03e078c6353c6ede40f6cebb825c60 Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Tue, 27 Aug 2024 15:10:40 -0500 Subject: [PATCH 16/33] Set PROCDUMP_PATH environment variable --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6ccfc43a..4fe1476b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -91,6 +91,7 @@ jobs: run: | Invoke-WebRequest -Uri https://download.sysinternals.com/files/Procdump.zip -OutFile Procdump.zip Expand-Archive -Path Procdump.zip -DestinationPath $env:ProgramFiles + $env:PROCDUMP_PATH = $env:ProgramFiles - name: Enable Crash Dumps if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} From d87ea444911449682d94bfe73107351206a5b821 Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Tue, 27 Aug 2024 16:42:16 -0500 Subject: [PATCH 17/33] Export PROCDUMP_PATH to github env variables --- .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 4fe1476b..7092ab8b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -91,7 +91,7 @@ jobs: run: | Invoke-WebRequest -Uri https://download.sysinternals.com/files/Procdump.zip -OutFile Procdump.zip Expand-Archive -Path Procdump.zip -DestinationPath $env:ProgramFiles - $env:PROCDUMP_PATH = $env:ProgramFiles + echo "PROCDUMP_PATH = $env:ProgramFiles" >> $env:GITHUB_ENV - name: Enable Crash Dumps if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} From cebd835ba53737e903256b7632fe3e2c837dc42c Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Tue, 27 Aug 2024 17:20:16 -0500 Subject: [PATCH 18/33] Declared PROCDUMP_PATH as job-level env variable --- .github/workflows/build.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7092ab8b..a418474b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -62,6 +62,9 @@ jobs: env: PROCDUMP_PATH: ${{ github.workspace }} + env: + PROCDUMP_PATH: c:\procdump\ + # See https://docs.github.com/actions/using-jobs/using-a-matrix-for-your-jobs strategy: fail-fast: false # prevent one matrix pipeline from being cancelled if one fails, we want them all to run to completion. @@ -90,8 +93,7 @@ jobs: shell: pwsh run: | Invoke-WebRequest -Uri https://download.sysinternals.com/files/Procdump.zip -OutFile Procdump.zip - Expand-Archive -Path Procdump.zip -DestinationPath $env:ProgramFiles - echo "PROCDUMP_PATH = $env:ProgramFiles" >> $env:GITHUB_ENV + Expand-Archive -Path Procdump.zip -DestinationPath $PROCDUMP_PATH - name: Enable Crash Dumps if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} From 8e3904233eb031456833f2760db634b89804c56e Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Wed, 28 Aug 2024 08:36:58 -0500 Subject: [PATCH 19/33] Fix syntax error --- .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 a418474b..7215e3ba 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -93,7 +93,7 @@ jobs: shell: pwsh run: | Invoke-WebRequest -Uri https://download.sysinternals.com/files/Procdump.zip -OutFile Procdump.zip - Expand-Archive -Path Procdump.zip -DestinationPath $PROCDUMP_PATH + Expand-Archive -Path Procdump.zip -DestinationPath ${{ env.PROCDUMP_PATH }} - name: Enable Crash Dumps if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} From b40223987546544fe7fc7e2731ed31e57c07934a Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Wed, 28 Aug 2024 14:45:08 -0500 Subject: [PATCH 20/33] Use env variable for procdump output --- .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 7215e3ba..4e31d08b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -110,7 +110,7 @@ jobs: if(!$dumpFolder) { - $dumpFolder = "C:\dumps" + $dumpFolder = "${{ env.PROCDUMP_PATH }}" } function Enable-CrashDumpsForProcesses { From 5f94197c63b25e47055d55a2ecce652d03765b04 Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Fri, 30 Aug 2024 11:47:10 -0500 Subject: [PATCH 21/33] Set procdump path to working directory, fix .dmp artifact upload, cleanup extra script --- .github/workflows/build.yml | 46 +------------------------------------ 1 file changed, 1 insertion(+), 45 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4e31d08b..e5d55c37 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -63,7 +63,7 @@ jobs: PROCDUMP_PATH: ${{ github.workspace }} env: - PROCDUMP_PATH: c:\procdump\ + PROCDUMP_PATH: ${{ github.workspace }} # See https://docs.github.com/actions/using-jobs/using-a-matrix-for-your-jobs strategy: @@ -95,43 +95,6 @@ jobs: Invoke-WebRequest -Uri https://download.sysinternals.com/files/Procdump.zip -OutFile Procdump.zip Expand-Archive -Path Procdump.zip -DestinationPath ${{ env.PROCDUMP_PATH }} - - name: Enable Crash Dumps - if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} - shell: pwsh - run: | - # If we set the registry from a 32-bit process on a 64-bit machine, we will set the "virtualized" syswow registry. - # For crash dump collection we always want to set the "native" registry, so we make sure to invoke the native cmd.exe - $nativeCmdPath = "$env:SystemRoot\system32\cmd.exe" - if([Environment]::Is64BitOperatingSystem -and ![Environment]::Is64BitProcess) - { - # The "sysnative" path is a 'magic' path that allows a 32-bit process to invoke the native 64-bit cmd.exe. - $nativeCmdPath = "$env:SystemRoot\sysnative\cmd.exe" - } - - if(!$dumpFolder) - { - $dumpFolder = "${{ env.PROCDUMP_PATH }}" - } - - function Enable-CrashDumpsForProcesses { - Param([string[]]$namesOfProcessesForDumpCollection) - - foreach($procName in $namesOfProcessesForDumpCollection) - { - Write-Host "Enabling local crash dumps for $procName" - & $nativeCmdPath /c reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\$procName" /v DumpFolder /t REG_EXPAND_SZ /d $dumpFolder /f - & $nativeCmdPath /c reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\$procName" /v DumpType /t REG_DWORD /d 2 /f - & $nativeCmdPath /c reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\$procName" /v DumpCount /t REG_DWORD /d 3 /f - } - } - - # enable dump collection for our test apps: - $namesOfProcessesForDumpCollection = @( - "CommunityToolkit.Tests.${{ matrix.multitarget }}.exe", - "VSTest.Console.exe") - - Enable-CrashDumpsForProcesses $namesOfProcessesForDumpCollection - - name: Install .NET SDK v${{ env.DOTNET_VERSION }} uses: actions/setup-dotnet@v4 with: @@ -251,13 +214,6 @@ jobs: name: 'vstest-diagnostic-log-${{ matrix.multitarget }}-winui${{ matrix.winui }}.txt' path: '${{ github.workspace }}/vstest-diagnostic-log.txt' - - name: Artifact - vstest-diagnostic-log - uses: actions/upload-artifact@v4 - if: always() - with: - name: 'vstest-diagnostic-log-${{ matrix.multitarget }}-winui${{ matrix.winui }}.txt' - path: '${{ github.workspace }}/vstest-diagnostic-log.txt' - - name: Analyze Dump if: ${{ steps.detect-dump.outputs.DUMP_FILE != '' && (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }} run: | From c83ee0200636eb69ca191be5f4dcb0f65d693b4e Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Fri, 30 Aug 2024 12:13:08 -0500 Subject: [PATCH 22/33] Install procdump after repo checkout --- .github/workflows/build.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e5d55c37..3e6e83b0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -88,13 +88,6 @@ jobs: maximum-size: 32GB disk-root: "C:" - - name: Install procdump - if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} - shell: pwsh - run: | - Invoke-WebRequest -Uri https://download.sysinternals.com/files/Procdump.zip -OutFile Procdump.zip - Expand-Archive -Path Procdump.zip -DestinationPath ${{ env.PROCDUMP_PATH }} - - name: Install .NET SDK v${{ env.DOTNET_VERSION }} uses: actions/setup-dotnet@v4 with: From 5cdfef4860a4de354cb26ffee6a1476b3069d422 Mon Sep 17 00:00:00 2001 From: Arlo Date: Mon, 16 Dec 2024 11:51:20 -0600 Subject: [PATCH 23/33] Update GitHub Actions runner to use 'windows-latest' instead of 'windows-latest-large' --- .github/workflows/build.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3e6e83b0..f26df526 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -59,9 +59,6 @@ jobs: needs: [Xaml-Style-Check] runs-on: windows-latest - env: - PROCDUMP_PATH: ${{ github.workspace }} - env: PROCDUMP_PATH: ${{ github.workspace }} From fa09841bdfce8d1905b92eb76690b8f04475addc Mon Sep 17 00:00:00 2001 From: Arlo Date: Fri, 9 Jan 2026 15:40:07 -0600 Subject: [PATCH 24/33] Apply suggestion from @Arlodotexe --- .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 f26df526..757e3fd0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -57,7 +57,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 + runs-on: windows-2022 env: PROCDUMP_PATH: ${{ github.workspace }} From f70bbc48e696812f45b0b2fa035cd3f70142ea71 Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Mon, 26 Aug 2024 15:59:44 -0500 Subject: [PATCH 25/33] Enable crash dumps and diagnostic logs for vstest --- .github/workflows/build.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 757e3fd0..7cf34690 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -204,6 +204,13 @@ jobs: name: 'vstest-diagnostic-log-${{ matrix.multitarget }}-winui${{ matrix.winui }}.txt' path: '${{ github.workspace }}/vstest-diagnostic-log.txt' + - name: Artifact - vstest-diagnostic-log + uses: actions/upload-artifact@v4 + if: always() + with: + name: 'vstest-diagnostic-log-${{ matrix.multitarget }}-winui${{ matrix.winui }}.txt' + path: '${{ github.workspace }}/vstest-diagnostic-log.txt' + - name: Analyze Dump if: ${{ steps.detect-dump.outputs.DUMP_FILE != '' && (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }} run: | From 3bec278b2e661077d08732635bb0da6a10feed86 Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Fri, 30 Aug 2024 11:47:10 -0500 Subject: [PATCH 26/33] Set procdump path to working directory, fix .dmp artifact upload, cleanup extra script --- .github/workflows/build.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7cf34690..757e3fd0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -204,13 +204,6 @@ jobs: name: 'vstest-diagnostic-log-${{ matrix.multitarget }}-winui${{ matrix.winui }}.txt' path: '${{ github.workspace }}/vstest-diagnostic-log.txt' - - name: Artifact - vstest-diagnostic-log - uses: actions/upload-artifact@v4 - if: always() - with: - name: 'vstest-diagnostic-log-${{ matrix.multitarget }}-winui${{ matrix.winui }}.txt' - path: '${{ github.workspace }}/vstest-diagnostic-log.txt' - - name: Analyze Dump if: ${{ steps.detect-dump.outputs.DUMP_FILE != '' && (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }} run: | From 5cb1b2d155ac8d328f08bd6fd0c5701d249b2e4b Mon Sep 17 00:00:00 2001 From: Arlo Date: Mon, 16 Dec 2024 11:51:20 -0600 Subject: [PATCH 27/33] Update GitHub Actions runner to use 'windows-latest' instead of 'windows-latest-large' --- .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 757e3fd0..f26df526 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -57,7 +57,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-latest env: PROCDUMP_PATH: ${{ github.workspace }} From 73febc04721473d839c72f12c9688fd8ac62b8ee Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Mon, 26 Aug 2024 15:59:44 -0500 Subject: [PATCH 28/33] Enable crash dumps and diagnostic logs for vstest --- .github/workflows/build.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f26df526..748ce3df 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -204,6 +204,13 @@ jobs: name: 'vstest-diagnostic-log-${{ matrix.multitarget }}-winui${{ matrix.winui }}.txt' path: '${{ github.workspace }}/vstest-diagnostic-log.txt' + - name: Artifact - vstest-diagnostic-log + uses: actions/upload-artifact@v4 + if: always() + with: + name: 'vstest-diagnostic-log-${{ matrix.multitarget }}-winui${{ matrix.winui }}.txt' + path: '${{ github.workspace }}/vstest-diagnostic-log.txt' + - name: Analyze Dump if: ${{ steps.detect-dump.outputs.DUMP_FILE != '' && (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }} run: | From 14df601f6a06a89f33d9e88cef65dd4f0ead4918 Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Tue, 27 Aug 2024 12:39:32 -0500 Subject: [PATCH 29/33] Enable crash dumps per-process --- .github/workflows/build.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 748ce3df..f26df526 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -204,13 +204,6 @@ jobs: name: 'vstest-diagnostic-log-${{ matrix.multitarget }}-winui${{ matrix.winui }}.txt' path: '${{ github.workspace }}/vstest-diagnostic-log.txt' - - name: Artifact - vstest-diagnostic-log - uses: actions/upload-artifact@v4 - if: always() - with: - name: 'vstest-diagnostic-log-${{ matrix.multitarget }}-winui${{ matrix.winui }}.txt' - path: '${{ github.workspace }}/vstest-diagnostic-log.txt' - - name: Analyze Dump if: ${{ steps.detect-dump.outputs.DUMP_FILE != '' && (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }} run: | From e4806fd060dd245d85730aa82321f1e32dc9f6ba Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Tue, 27 Aug 2024 17:20:16 -0500 Subject: [PATCH 30/33] Declared PROCDUMP_PATH as job-level env variable --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f26df526..14c7823c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -62,6 +62,9 @@ jobs: env: PROCDUMP_PATH: ${{ github.workspace }} + env: + PROCDUMP_PATH: c:\procdump\ + # See https://docs.github.com/actions/using-jobs/using-a-matrix-for-your-jobs strategy: fail-fast: false # prevent one matrix pipeline from being cancelled if one fails, we want them all to run to completion. From 184a5b1a69a550abfe309505b6da620c59a506c1 Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Fri, 30 Aug 2024 11:47:10 -0500 Subject: [PATCH 31/33] Set procdump path to working directory, fix .dmp artifact upload, cleanup extra script --- .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 14c7823c..3e6e83b0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -63,7 +63,7 @@ jobs: PROCDUMP_PATH: ${{ github.workspace }} env: - PROCDUMP_PATH: c:\procdump\ + PROCDUMP_PATH: ${{ github.workspace }} # See https://docs.github.com/actions/using-jobs/using-a-matrix-for-your-jobs strategy: From 87707b8a591871fe7042e939de892e7c464759af Mon Sep 17 00:00:00 2001 From: Arlo Date: Mon, 16 Dec 2024 11:51:20 -0600 Subject: [PATCH 32/33] Update GitHub Actions runner to use 'windows-latest' instead of 'windows-latest-large' --- .github/workflows/build.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3e6e83b0..f26df526 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -59,9 +59,6 @@ jobs: needs: [Xaml-Style-Check] runs-on: windows-latest - env: - PROCDUMP_PATH: ${{ github.workspace }} - env: PROCDUMP_PATH: ${{ github.workspace }} From ce926635bb563e6c1a38e9faadcef8eb1c677be4 Mon Sep 17 00:00:00 2001 From: Arlo Date: Fri, 9 Jan 2026 15:40:07 -0600 Subject: [PATCH 33/33] Apply suggestion from @Arlodotexe --- .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 f26df526..757e3fd0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -57,7 +57,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 + runs-on: windows-2022 env: PROCDUMP_PATH: ${{ github.workspace }}