Skip to content

Commit 9772e3e

Browse files
committed
Update workflow to support building and testing in with matrixed multitarget and WinUIMajorVersion, improve test report conditions
1 parent bd39501 commit 9772e3e

File tree

1 file changed

+21
-9
lines changed

1 file changed

+21
-9
lines changed

.github/workflows/build.yml

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ jobs:
7373
domain: ${{ github.repository_owner }}
7474

7575
- name: Run tests against Source Generators
76+
id: test-generator
7677
run: dotnet test --logger "trx;LogFileName=sourceGeneratorTestResults.trx" -p:Configuration=Release
7778

7879
- name: Create test reports
@@ -140,6 +141,20 @@ jobs:
140141
# Test job to build a single experiment to ensure our changes work for both our main types of solutions at the moment
141142
new-experiment:
142143
runs-on: windows-latest
144+
145+
strategy:
146+
fail-fast: false # prevent one matrix pipeline from being cancelled if one fails, we want them all to run to completion.
147+
matrix:
148+
winui: [2, 3]
149+
multitarget: ['uwp', 'wasdk', 'wasm', 'wpf', 'linuxgtk', 'macos', 'ios', 'android']
150+
exclude:
151+
# WinUI 2 not supported on wasdk
152+
- winui: 2
153+
multitarget: wasdk
154+
# WinUI 3 not supported on uwp
155+
- winui: 3
156+
multitarget: uwp
157+
143158
env:
144159
HEADS_DIRECTORY: tooling/ProjectHeads
145160
PROJECT_DIRECTORY: tooling/ProjectTemplate
@@ -200,7 +215,7 @@ jobs:
200215

201216
- name: Add project heads to ${{ env.TEST_PROJECT_NAME }}
202217
working-directory: ./${{ env.TEST_PROJECT_DIRECTORY }}
203-
run: ${{ github.workspace }}/${{ env.HEADS_DIRECTORY }}/GenerateSingleSampleHeads.ps1 -componentPath ${{ github.workspace }}/${{ env.TEST_PROJECT_DIRECTORY }}${{ env.ENABLE_DIAGNOSTICS == 'true' && ' -UseDiagnostics' || '' }}
218+
run: ${{ github.workspace }}/${{ env.HEADS_DIRECTORY }}/GenerateSingleSampleHeads.ps1 -MultiTargets ${{ matrix.multitarget }} -WinUIMajorVersion ${{ matrix.winui }} -componentPath ${{ github.workspace }}/${{ env.TEST_PROJECT_DIRECTORY }}${{ env.ENABLE_DIAGNOSTICS == 'true' && ' -UseDiagnostics' || '' }}
204219

205220
- name: MSBuild
206221
working-directory: ./${{ env.TEST_PROJECT_DIRECTORY }}
@@ -215,18 +230,15 @@ jobs:
215230
with:
216231
domain: ${{ github.repository_owner }}
217232

218-
- name: Run tests in the generated experiment against UWP
219-
id: test-uwp
220-
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"
221-
222-
- name: Run tests in the generated experiment against WinAppSDK
223-
id: test-winappsdk
224-
run: vstest.console.exe ./components/${{ env.TEST_PROJECT_NAME }}/**/${{ env.TEST_PROJECT_NAME }}.Tests.Wasdk.build.appxrecipe /Framework:FrameworkUap10 /logger:"trx;LogFileName=${{ env.TEST_PROJECT_NAME }}Wasdk.trx"
233+
- name: Run tests in the generated experiment against ${{ matrix.multitarget }}
234+
if: ${{ matrix.multitarget == 'uwp' || matrix.multitarget == 'wasdk' }}
235+
id: test-platform
236+
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
225237

226238
- name: Create test reports
227239
run: |
228240
testspace '[New Experiment]./TestResults/*.trx'
229-
if: ${{ always() && (steps.test-uwp.conclusion == 'success' || steps.test-winappsdk.conclusion == 'success') }}
241+
if: ${{ (matrix.multitarget == 'uwp' || matrix.multitarget == 'wasdk') && (steps.test-generator.conclusion == 'success' || steps.test-platform.conclusion == 'success') }}
230242

231243
- name: Artifact - Diagnostic Logs
232244
uses: actions/upload-artifact@v4

0 commit comments

Comments
 (0)