1717 merge_group :
1818
1919env :
20- DOTNET_VERSION : ${{ '9.0.x' }}
20+ DOTNET_VERSION : ' 9.0.310 ' # Only used by jobs that cannot access global.json (no checkout/artifact-only jobs)
2121 ENABLE_DIAGNOSTICS : true
2222 MSBUILD_VERBOSITY : normal
2323 # COREHOST_TRACE: 1
@@ -36,17 +36,17 @@ jobs:
3636
3737 # Steps represent a sequence of tasks that will be executed as part of the job
3838 steps :
39- - name : Install .NET SDK v${{ env.DOTNET_VERSION }}
40- uses : actions/setup-dotnet@v4
41- with :
42- dotnet-version : ${{ env.DOTNET_VERSION }}
43-
4439 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
4540 - name : Checkout Repository
4641 uses : actions/checkout@v4
4742 with :
4843 submodules : recursive
4944
45+ - name : Install .NET SDK
46+ uses : actions/setup-dotnet@v4
47+ with :
48+ global-json-file : global.json
49+
5050 # Restore Tools from Manifest list in the Repository
5151 - name : Restore dotnet tools
5252 run : dotnet tool restore
@@ -85,21 +85,21 @@ jobs:
8585 maximum-size : 32GB
8686 disk-root : " C:"
8787
88- - name : Install .NET SDK v${{ env.DOTNET_VERSION }}
88+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
89+ - name : Checkout Repository
90+ uses : actions/checkout@v4
91+ with :
92+ submodules : recursive
93+
94+ - name : Install .NET SDK
8995 uses : actions/setup-dotnet@v4
9096 with :
91- dotnet-version : ${{ env.DOTNET_VERSION }}
97+ global-json-file : global.json
9298
9399 - name : .NET Info (if diagnostics)
94100 if : ${{ env.ENABLE_DIAGNOSTICS == 'true' }}
95101 run : dotnet --info
96102
97- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
98- - name : Checkout Repository
99- uses : actions/checkout@v4
100- with :
101- submodules : recursive
102-
103103 - name : Install procdump
104104 if : ${{ env.ENABLE_DIAGNOSTICS == 'true' }}
105105 shell : pwsh
@@ -158,6 +158,13 @@ jobs:
158158 id : test-generator
159159 run : vstest.console.exe ./tooling/CommunityToolkit.Tooling.SampleGen.Tests/bin/Release/net8.0/CommunityToolkit.Tooling.SampleGen.Tests.dll /logger:"trx;LogFileName=SourceGenerators.trx"
160160
161+ - name : Start Procdump monitoring for first-chance exceptions
162+ if : ${{ (matrix.multitarget == 'uwp' || matrix.multitarget == 'wasdk') && env.ENABLE_DIAGNOSTICS == 'true' }}
163+ shell : pwsh
164+ run : |
165+ $procdumpArgs = @("-accepteula", "-e", "1", "-w", "CommunityToolkit.Tests.${{ matrix.multitarget }}.exe", "-ma", "${{ env.PROCDUMP_PATH }}")
166+ Start-Process -FilePath "${{ env.PROCDUMP_PATH }}/procdump64.exe" -ArgumentList $procdumpArgs -NoNewWindow
167+
161168 - name : Run component tests against ${{ matrix.multitarget }}
162169 if : ${{ matrix.multitarget == 'uwp' || matrix.multitarget == 'wasdk' }}
163170 id : test-platform
@@ -222,21 +229,21 @@ jobs:
222229 VERSION_PROPERTY : ${{ github.ref == 'refs/heads/main' && format('build.{0}', github.run_number) || format('pull-{0}.{1}', github.event.number, github.run_number) }}
223230
224231 steps :
225- - name : Install .NET SDK v${{ env.DOTNET_VERSION }}
232+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
233+ - name : Checkout Repository
234+ uses : actions/checkout@v4
235+ with :
236+ submodules : recursive
237+
238+ - name : Install .NET SDK
226239 uses : actions/setup-dotnet@v4
227240 with :
228- dotnet-version : ${{ env.DOTNET_VERSION }}
241+ global-json-file : global.json
229242
230243 - name : .NET Info (if diagnostics)
231244 if : ${{ env.ENABLE_DIAGNOSTICS == 'true' }}
232245 run : dotnet --info
233246
234- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
235- - name : Checkout Repository
236- uses : actions/checkout@v4
237- with :
238- submodules : recursive
239-
240247 # Semver regex: https://regex101.com/r/Ly7O1x/3/
241248 - name : Format Date/Time of Release Package Version
242249 if : ${{ env.IS_RELEASE == 'true' }}
@@ -333,7 +340,7 @@ jobs:
333340 winui : [2, 3]
334341
335342 steps :
336- - name : Install .NET SDK v${{ env.DOTNET_VERSION }}
343+ - name : Install .NET SDK
337344 uses : actions/setup-dotnet@v4
338345 with :
339346 dotnet-version : ${{ env.DOTNET_VERSION }}
@@ -398,7 +405,7 @@ jobs:
398405 winui : [2, 3]
399406
400407 steps :
401- - name : Install .NET SDK v${{ env.DOTNET_VERSION }}
408+ - name : Install .NET SDK
402409 uses : actions/setup-dotnet@v4
403410 with :
404411 dotnet-version : ${{ env.DOTNET_VERSION }}
@@ -421,21 +428,21 @@ jobs:
421428 runs-on : ubuntu-latest
422429
423430 steps :
424- - name : Install .NET SDK v${{ env.DOTNET_VERSION }}
431+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
432+ - name : Checkout Repository
433+ uses : actions/checkout@v4
434+ with :
435+ submodules : recursive
436+
437+ - name : Install .NET SDK
425438 uses : actions/setup-dotnet@v4
426439 with :
427- dotnet-version : ${{ env.DOTNET_VERSION }}
440+ global-json-file : global.json
428441
429442 - name : .NET Info (if diagnostics)
430443 if : ${{ env.ENABLE_DIAGNOSTICS == 'true' }}
431444 run : dotnet --info
432445
433- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
434- - name : Checkout Repository
435- uses : actions/checkout@v4
436- with :
437- submodules : recursive
438-
439446 # Restore Tools from Manifest list in the Repository
440447 - name : Restore dotnet tools
441448 run : dotnet tool restore
@@ -467,3 +474,4 @@ jobs:
467474 with :
468475 name : linux-logs
469476 path : ./**/*.*log
477+
0 commit comments