Skip to content
Merged
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
ffe6847
Enable crash dumps and diagnostic logs for vstest
Arlodotexe Aug 26, 2024
a9d8e6a
Enable crash dumps per-process
Arlodotexe Aug 27, 2024
c1d7cfe
Install procdump for crash dumps
Arlodotexe Aug 27, 2024
57851bb
Set PROCDUMP_PATH environment variable
Arlodotexe Aug 27, 2024
86266b3
Export PROCDUMP_PATH to github env variables
Arlodotexe Aug 27, 2024
05a5aad
Declared PROCDUMP_PATH as job-level env variable
Arlodotexe Aug 27, 2024
ef67b51
Fix syntax error
Arlodotexe Aug 28, 2024
70f8c4e
Use env variable for procdump output
Arlodotexe Aug 28, 2024
d2d8068
Fixed syntax error caused by extra forward slash
Arlodotexe Aug 28, 2024
6382741
Set procdump path to working directory, fix .dmp artifact upload, cle…
Arlodotexe Aug 30, 2024
ce405d2
Install procdump after repo checkout
Arlodotexe Aug 30, 2024
60dfda6
Use unique artifact names for ilc-repro
Arlodotexe Aug 30, 2024
8ccb73f
Update GitHub Actions runner to use 'windows-latest' instead of 'wind…
Arlodotexe Dec 16, 2024
caf6b4d
Enable crash dumps and diagnostic logs for vstest
Arlodotexe Aug 26, 2024
ad3f7be
Install procdump for crash dumps
Arlodotexe Aug 27, 2024
a70b8ba
Set PROCDUMP_PATH environment variable
Arlodotexe Aug 27, 2024
d87ea44
Export PROCDUMP_PATH to github env variables
Arlodotexe Aug 27, 2024
cebd835
Declared PROCDUMP_PATH as job-level env variable
Arlodotexe Aug 27, 2024
8e39042
Fix syntax error
Arlodotexe Aug 28, 2024
b402239
Use env variable for procdump output
Arlodotexe Aug 28, 2024
5f94197
Set procdump path to working directory, fix .dmp artifact upload, cle…
Arlodotexe Aug 30, 2024
c83ee02
Install procdump after repo checkout
Arlodotexe Aug 30, 2024
5cdfef4
Update GitHub Actions runner to use 'windows-latest' instead of 'wind…
Arlodotexe Dec 16, 2024
fa09841
Apply suggestion from @Arlodotexe
Arlodotexe Jan 9, 2026
f70bbc4
Enable crash dumps and diagnostic logs for vstest
Arlodotexe Aug 26, 2024
3bec278
Set procdump path to working directory, fix .dmp artifact upload, cle…
Arlodotexe Aug 30, 2024
5cb1b2d
Update GitHub Actions runner to use 'windows-latest' instead of 'wind…
Arlodotexe Dec 16, 2024
73febc0
Enable crash dumps and diagnostic logs for vstest
Arlodotexe Aug 26, 2024
14df601
Enable crash dumps per-process
Arlodotexe Aug 27, 2024
e4806fd
Declared PROCDUMP_PATH as job-level env variable
Arlodotexe Aug 27, 2024
184a5b1
Set procdump path to working directory, fix .dmp artifact upload, cle…
Arlodotexe Aug 30, 2024
87707b8
Update GitHub Actions runner to use 'windows-latest' instead of 'wind…
Arlodotexe Dec 16, 2024
ce92663
Apply suggestion from @Arlodotexe
Arlodotexe Jan 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 22 additions & 14 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,9 @@ jobs:
needs: [Xaml-Style-Check]
runs-on: windows-2022

env:
PROCDUMP_PATH: ${{ github.workspace }}

# 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.
Expand All @@ -82,15 +85,6 @@ jobs:
maximum-size: 32GB
disk-root: "C:"

- name: Enable User-Mode Dumps collecting
if: ${{ env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '' }}
shell: powershell
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'

- name: Install .NET SDK v${{ env.DOTNET_VERSION }}
uses: actions/setup-dotnet@v4
with:
Expand All @@ -106,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
Expand Down Expand Up @@ -160,7 +161,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: |
Expand All @@ -178,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
Expand All @@ -187,14 +188,21 @@ 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 ${{ env.PROCDUMP_PATH }}/**/*.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: ${{ env.PROCDUMP_PATH }}/**/*.dmp

- 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() }}
Expand Down
Loading