1616 workflow_dispatch :
1717
1818env :
19- DOTNET_VERSION : ${{ '8.0.x' }}
20- DOTNET_INSTALL_DIR : dotnet-install
21- DOTNET_ROOT : dotnet-install
19+ DOTNET_VERSION : ${{ '9.0.x' }}
2220 ENABLE_DIAGNOSTICS : false
2321 # COREHOST_TRACE: 1
2422 COREHOST_TRACEFILE : corehosttrace.log
@@ -142,6 +140,20 @@ jobs:
142140 # Test job to build a single experiment to ensure our changes work for both our main types of solutions at the moment
143141 new-experiment :
144142 runs-on : windows-latest
143+
144+ strategy :
145+ fail-fast : false # prevent one matrix pipeline from being cancelled if one fails, we want them all to run to completion.
146+ matrix :
147+ winui : [2, 3]
148+ multitarget : ['uwp', 'wasdk', 'wasm']
149+ exclude :
150+ # WinUI 2 not supported on wasdk
151+ - winui : 2
152+ multitarget : wasdk
153+ # WinUI 3 not supported on uwp
154+ - winui : 3
155+ multitarget : uwp
156+
145157 env :
146158 HEADS_DIRECTORY : tooling/ProjectHeads
147159 PROJECT_DIRECTORY : tooling/ProjectTemplate
@@ -202,7 +214,7 @@ jobs:
202214
203215 - name : Add project heads to ${{ env.TEST_PROJECT_NAME }}
204216 working-directory : ./${{ env.TEST_PROJECT_DIRECTORY }}
205- run : ${{ github.workspace }}/${{ env.HEADS_DIRECTORY }}/GenerateSingleSampleHeads.ps1 -componentPath ${{ github.workspace }}/${{ env.TEST_PROJECT_DIRECTORY }}${{ env.ENABLE_DIAGNOSTICS == 'true' && ' -UseDiagnostics' || '' }}
217+ run : ${{ github.workspace }}/${{ env.HEADS_DIRECTORY }}/GenerateSingleSampleHeads.ps1 -MultiTargets ${{ matrix.multitarget }} -winui ${{ matrix.winui }} - componentPath " ${{ github.workspace }}/${{ env.TEST_PROJECT_DIRECTORY }}${{ env.ENABLE_DIAGNOSTICS == 'true' && ' -UseDiagnostics' || '' }}"
206218
207219 - name : MSBuild
208220 working-directory : ./${{ env.TEST_PROJECT_DIRECTORY }}
@@ -217,18 +229,15 @@ jobs:
217229 with :
218230 domain : ${{ github.repository_owner }}
219231
220- - name : Run tests in the generated experiment against UWP
221- id : test-uwp
222- run : vstest.console.exe ./components/${{ env.TEST_PROJECT_NAME }}/**/${{ env.TEST_PROJECT_NAME }}.Tests.UWP.build.appxrecipe /Framework:FrameworkUap10 /logger:"trx;LogFileName=${{ env.TEST_PROJECT_NAME }}UWP.trx"
223-
224- - name : Run tests in the generated experiment against WinAppSDK
225- id : test-winappsdk
226- run : vstest.console.exe ./components/${{ env.TEST_PROJECT_NAME }}/**/${{ env.TEST_PROJECT_NAME }}.Tests.WinAppSdk.build.appxrecipe /Framework:FrameworkUap10 /logger:"trx;LogFileName=${{ env.TEST_PROJECT_NAME }}WinAppSdk.trx"
232+ - name : Run tests in the generated experiment against ${{ matrix.multitarget }}
233+ if : ${{ matrix.multitarget == 'uwp' || matrix.multitarget == 'wasdk' }}
234+ id : test-platform
235+ run : vstest.console.exe ./components/${{ env.TEST_PROJECT_NAME }}/**/${{ env.TEST_PROJECT_NAME }}.Tests.${{ matrix.multitarget }}.build.appxrecipe /Framework:FrameworkUap10 /logger:"trx;LogFileName=${{ env.TEST_PROJECT_NAME }}${{ matrix.multitarget }}.trx" /Blame
227236
228237 - name : Create test reports
229238 run : |
230239 testspace '[New Experiment]./TestResults/*.trx'
231- if : ${{ always() && (steps.test- uwp.conclusion == 'success' || steps.test-winappsdk .conclusion == 'success') }}
240+ if : ${{ (matrix.multitarget == ' uwp' || matrix.multitarget == 'wasdk') && ( steps.test-platform .conclusion == 'success') }}
232241
233242 - name : Artifact - Diagnostic Logs
234243 uses : actions/upload-artifact@v4
0 commit comments