5959 needs : [Xaml-Style-Check]
6060 runs-on : windows-2022
6161
62+ env :
63+ PROCDUMP_PATH : ${{ github.workspace }}
64+
6265 # See https://docs.github.com/actions/using-jobs/using-a-matrix-for-your-jobs
6366 strategy :
6467 fail-fast : false # prevent one matrix pipeline from being cancelled if one fails, we want them all to run to completion.
8285 maximum-size : 32GB
8386 disk-root : " C:"
8487
85- - name : Enable User-Mode Dumps collecting
86- if : ${{ env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '' }}
87- shell : powershell
88- run : |
89- New-Item '${{ github.workspace }}\CrashDumps' -Type Directory
90- Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps' -Name 'DumpFolder' -Type ExpandString -Value '${{ github.workspace }}\CrashDumps'
91- Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps' -Name 'DumpCount' -Type DWord -Value '10'
92- Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps' -Name 'DumpType' -Type DWord -Value '2'
93-
9488 - name : Install .NET SDK v${{ env.DOTNET_VERSION }}
9589 uses : actions/setup-dotnet@v4
9690 with :
@@ -106,6 +100,13 @@ jobs:
106100 with :
107101 submodules : recursive
108102
103+ - name : Install procdump
104+ if : ${{ env.ENABLE_DIAGNOSTICS == 'true' }}
105+ shell : pwsh
106+ run : |
107+ Invoke-WebRequest -Uri https://download.sysinternals.com/files/Procdump.zip -OutFile Procdump.zip
108+ Expand-Archive -Path Procdump.zip -DestinationPath ${{ env.PROCDUMP_PATH }}
109+
109110 # Restore Tools from Manifest list in the Repository
110111 - name : Restore dotnet tools
111112 run : dotnet tool restore
@@ -160,7 +161,7 @@ jobs:
160161 - name : Run component tests against ${{ matrix.multitarget }}
161162 if : ${{ matrix.multitarget == 'uwp' || matrix.multitarget == 'wasdk' }}
162163 id : test-platform
163- run : vstest.console.exe ./tooling/**/CommunityToolkit.Tests.${{ matrix.multitarget }}.build.appxrecipe /Framework:FrameworkUap10 /logger:"trx;LogFileName=${{ matrix.multitarget }}.trx" /Blame
164+ 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"
164165
165166 - name : Create test reports
166167 run : |
@@ -178,7 +179,7 @@ jobs:
178179 uses : actions/upload-artifact@v4
179180 if : ${{ (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }}
180181 with :
181- name : ilc-repro
182+ name : ilc-repro-${{ matrix.multitarget }}-winui${{ matrix.winui }}
182183 path : ./*.zip
183184
184185 # https://github.com/dorny/paths-filter#custom-processing-of-changed-files
@@ -187,14 +188,21 @@ jobs:
187188 if : always()
188189 working-directory : ${{ github.workspace }}
189190 run : |
190- echo "DUMP_FILE=$(Get-ChildItem .\CrashDumps\ *.dmp -ErrorAction SilentlyContinue)" >> $env:GITHUB_OUTPUT
191+ echo "DUMP_FILE=$(Get-ChildItem ${{ env.PROCDUMP_PATH }}/**/ *.dmp -ErrorAction SilentlyContinue)" >> $env:GITHUB_OUTPUT
191192
192- - name : Artifact - WER crash dumps
193+ - name : Artifact - Process Dumps
193194 uses : actions/upload-artifact@v4
194195 if : ${{ (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }}
195196 with :
196197 name : CrashDumps-${{ matrix.multitarget }}-winui${{ matrix.winui }}
197- path : ' ${{ github.workspace }}/CrashDumps'
198+ path : ${{ env.PROCDUMP_PATH }}/**/*.dmp
199+
200+ - name : Artifact - vstest-diagnostic-log
201+ uses : actions/upload-artifact@v4
202+ if : always()
203+ with :
204+ name : ' vstest-diagnostic-log-${{ matrix.multitarget }}-winui${{ matrix.winui }}.txt'
205+ path : ' ${{ github.workspace }}/vstest-diagnostic-log.txt'
198206
199207 - name : Analyze Dump
200208 if : ${{ steps.detect-dump.outputs.DUMP_FILE != '' && (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }}
0 commit comments