@@ -111,21 +111,26 @@ jobs:
111111 with :
112112 global-json-file : tooling/global.json
113113
114+ - name : Install .NET workloads
115+ run : dotnet workload install wasm-tools
116+
114117 - name : .NET Info (if diagnostics)
115118 if : ${{ env.ENABLE_DIAGNOSTICS == 'true' }}
116119 run : dotnet --info
117120
118121 - name : Copy props files to root
119122 shell : pwsh
120123 working-directory : ./
121- run : copy ./tooling/.github/workflows/config/* ./
124+ run : |
125+ copy ./tooling/.github/workflows/config/* ./
126+ copy ./tooling/global.json ./
122127
123128 - name : Add msbuild to PATH
124129 uses : microsoft/setup-msbuild@v2
125130
126131 - name : Add project heads to ProjectTemplate
127132 working-directory : ./${{ env.PROJECT_DIRECTORY }}
128- run : ${{ github.workspace }}/${{ env.HEADS_DIRECTORY }}/GenerateSingleSampleHeads.ps1 -componentPath ${{ github.workspace }}/${{ env.PROJECT_DIRECTORY }}${{ env.ENABLE_DIAGNOSTICS == 'true' && ' -UseDiagnostics' || '' }}
133+ run : ${{ github.workspace }}/${{ env.HEADS_DIRECTORY }}/GenerateSingleSampleHeads.ps1 -IncludeUnoSdkHead - componentPath ${{ github.workspace }}/${{ env.PROJECT_DIRECTORY }}${{ env.ENABLE_DIAGNOSTICS == 'true' && ' -UseDiagnostics' || '' }}
129134
130135 # Build and use template for creating new experiments
131136 - name : Build ProjectTemplate
@@ -177,6 +182,10 @@ jobs:
177182 with :
178183 global-json-file : tooling/global.json
179184
185+ - name : Install .NET workloads
186+ if : ${{ matrix.multitarget == 'wasm' }}
187+ run : dotnet workload install wasm-tools
188+
180189 - name : .NET Info (if diagnostics)
181190 if : ${{ env.ENABLE_DIAGNOSTICS == 'true' }}
182191 run : dotnet --info
@@ -186,6 +195,7 @@ jobs:
186195 working-directory : ./
187196 run : |
188197 copy ./tooling/.github/workflows/config/* ./
198+ copy ./tooling/global.json ./
189199 mkdir ./.config
190200 copy ./tooling/.config/dotnet-tools.json ./.config/dotnet-tools.json
191201 mkdir ./components
@@ -209,12 +219,29 @@ jobs:
209219
210220 - name : Add project heads to ${{ env.TEST_PROJECT_NAME }}
211221 working-directory : ./${{ env.TEST_PROJECT_DIRECTORY }}
212- 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' || '' }}"
222+ run : >-
223+ ${{ github.workspace }}/${{ env.HEADS_DIRECTORY }}/GenerateSingleSampleHeads.ps1
224+ -MultiTargets ${{ matrix.multitarget }}
225+ -winui ${{ matrix.winui }}
226+ -componentPath "${{ github.workspace }}/${{ env.TEST_PROJECT_DIRECTORY }}"
227+ ${{ matrix.multitarget == 'wasm' && matrix.winui == 3 && ' -IncludeUnoSdkHead' || '' }}
228+ ${{ env.ENABLE_DIAGNOSTICS == 'true' && ' -UseDiagnostics' || '' }}
213229
214230 - name : MSBuild
231+ if : ${{ matrix.multitarget != 'wasm' || matrix.winui == 2 }}
215232 working-directory : ./${{ env.TEST_PROJECT_DIRECTORY }}
216233 run : msbuild.exe ${{ env.TEST_PROJECT_NAME }}.sln /restore /nowarn:MSB4011 -p:Configuration=Release
217234
235+ - name : Build Uno head (browserwasm)
236+ if : ${{ matrix.multitarget == 'wasm' && matrix.winui == 3 }}
237+ working-directory : ./${{ env.TEST_PROJECT_DIRECTORY }}
238+ run : dotnet build heads/Uno/${{ env.TEST_PROJECT_NAME }}.Uno.csproj -f net9.0-browserwasm -p:Configuration=Release
239+
240+ - name : Build Uno head (desktop)
241+ if : ${{ matrix.multitarget == 'wasm' && matrix.winui == 3 }}
242+ working-directory : ./${{ env.TEST_PROJECT_DIRECTORY }}
243+ run : dotnet build heads/Uno/${{ env.TEST_PROJECT_NAME }}.Uno.csproj -f net9.0-desktop -p:Configuration=Release
244+
218245 # Run tests
219246 - name : Setup VSTest Path
220247 uses : darenm/setup-vstest@3a16d909a1f3bbc65b52f8270d475d905e7d3e44
@@ -241,10 +268,11 @@ jobs:
241268 name : new-experiment-logs
242269 path : ./**/*.*log
243270
244- wasm -linux :
245- runs-on : ubuntu-latest
271+ uno -linux :
272+ runs-on : windows-2022
246273 env :
247274 HEADS_DIRECTORY : tooling/ProjectHeads
275+ PROJECT_DIRECTORY : tooling/ProjectTemplate
248276 TEST_PROJECT_NAME : CiTestExp
249277
250278 steps :
@@ -259,6 +287,9 @@ jobs:
259287 with :
260288 global-json-file : tooling/global.json
261289
290+ - name : Install .NET workloads
291+ run : dotnet workload install android ios maui wasm-tools
292+
262293 - name : .NET Info (if diagnostics)
263294 if : ${{ env.ENABLE_DIAGNOSTICS == 'true' }}
264295 run : dotnet --info
@@ -268,10 +299,14 @@ jobs:
268299 working-directory : ./
269300 run : |
270301 copy ./tooling/.github/workflows/config/* ./
302+ copy ./tooling/global.json ./
271303 mkdir ./.config
272304 copy ./tooling/.config/dotnet-tools.json ./.config/dotnet-tools.json
273305 mkdir ./components
274306
307+ - name : Add msbuild to PATH
308+ uses : microsoft/setup-msbuild@v2
309+
275310 # Restore Tools from Manifest list in the Repository
276311 - name : Restore dotnet tools
277312 working-directory : ./
@@ -289,20 +324,36 @@ jobs:
289324 - name : Generate solution
290325 shell : pwsh
291326 working-directory : ./
292- run : ./tooling/GenerateAllSolution.ps1${{ env.ENABLE_DIAGNOSTICS == 'true' && ' -UseDiagnostics' || '' }} -MultiTargets wasm
327+ run : ./tooling/GenerateAllSolution.ps1 -IncludeUnoSdkHead ${{ env.ENABLE_DIAGNOSTICS == 'true' && ' -UseDiagnostics' || '' }} -MultiTargets wasm
293328
294329 - name : dotnet build
295330 shell : pwsh
296331 working-directory : ./
297332 run : ./tooling/Build-Toolkit-Components.ps1 -Release -MultiTargets wasm ${{ env.ENABLE_DIAGNOSTICS == 'true' && ' -BinlogOutput ./ -EnableBinLogs' || '' }}
298-
299- # TODO: Do we want to run tests here? Can we do that on linux easily?
333+
334+ - name : Build Uno head (browserwasm)
335+ shell : pwsh
336+ working-directory : ./
337+ run : >-
338+ dotnet build
339+ tooling/ProjectHeads/AllComponents/Uno/CommunityToolkit.App.Uno.csproj
340+ -f net9.0-browserwasm
341+ -p:Configuration=Release
342+
343+ - name : Build Uno head (desktop)
344+ shell : pwsh
345+ working-directory : ./
346+ run : >-
347+ dotnet build
348+ tooling/ProjectHeads/AllComponents/Uno/CommunityToolkit.App.Uno.csproj
349+ -f net9.0-desktop
350+ -p:Configuration=Release
300351
301352 - name : Artifact - Diagnostic Logs
302353 uses : actions/upload-artifact@v4
303354 if : ${{ (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }}
304355 with :
305- name : linux-logs
356+ name : uno- linux-logs
306357 path : ./**/*.*log
307358
308359
0 commit comments