Skip to content

Commit 8c21bb5

Browse files
authored
GitHub: Add workflow jobs for building UI project heads (#116)
1 parent 8f149b2 commit 8c21bb5

File tree

2 files changed

+146
-28
lines changed

2 files changed

+146
-28
lines changed

.github/workflows/ci.yml

Lines changed: 143 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ jobs:
153153
# name: ''
154154
# path: ''
155155

156-
# Builds the SecureFolderFS SDK libraries
156+
# Builds the SecureFolderFS SDK libraries.
157157
sdk:
158158
needs: shared
159159
runs-on: windows-2025-vs2026
@@ -209,7 +209,7 @@ jobs:
209209
# name: ''
210210
# path: ''
211211

212-
# Builds the SecureFolderFS Core libraries
212+
# Builds the SecureFolderFS Core libraries.
213213
core:
214214
needs: [shared, lib]
215215
runs-on: windows-2025-vs2026
@@ -275,6 +275,147 @@ jobs:
275275
-p:Configuration=$env:CONFIGURATION `
276276
-p:TargetFramework=$env:THIS_TFM
277277
278+
# - name: Upload artifact
279+
# uses: actions/upload-artifact@v7
280+
# with:
281+
# name: ''
282+
# path: ''
283+
284+
# Builds the SecureFolderFS cross-platform UI library.
285+
# This library is the common denominator for both the MAUI and Uno Platform project heads.
286+
ui:
287+
needs: [core, sdk]
288+
runs-on: windows-2025-vs2026
289+
strategy:
290+
fail-fast: false
291+
matrix:
292+
configuration: [Release, Debug]
293+
targetFramework: [net10.0]
294+
env:
295+
CONFIGURATION: ${{ matrix.configuration }}
296+
THIS_PROJECT_PATH: ${{ github.workspace }}\src\Platforms\SecureFolderFS.UI
297+
THIS_TFM: ${{ matrix.targetFramework }}
298+
299+
steps:
300+
- name: Checkout the repository
301+
uses: actions/checkout@v6
302+
with:
303+
submodules: recursive
304+
305+
- name: Install Dependencies
306+
uses: "./.github/install_dependencies"
307+
with:
308+
dotnet-version: ${{ env.DOTNET_SDK }}
309+
run-uno-check: false
310+
311+
- name: Restore
312+
run: |
313+
msbuild $env:SOLUTION_PATH `
314+
-t:Restore `
315+
-p:Platform="Any CPU" `
316+
-p:Configuration=$env:CONFIGURATION
317+
318+
- name: Build
319+
run: |
320+
msbuild $env:THIS_PROJECT_PATH `
321+
-t:Build `
322+
-p:Platform="Any CPU" `
323+
-p:Configuration=$env:CONFIGURATION
324+
325+
# - name: Upload artifact
326+
# uses: actions/upload-artifact@v7
327+
# with:
328+
# name: ''
329+
# path: ''
330+
331+
# Builds the SecureFolderFS Uno Platform app project head.
332+
uno:
333+
needs: [core, sdk, shared, ui]
334+
runs-on: windows-2025-vs2026
335+
strategy:
336+
fail-fast: false
337+
matrix:
338+
configuration: [Release, Debug]
339+
targetFramework: [net10.0-desktop, net10.0-windows10.0.26100.0]
340+
env:
341+
CONFIGURATION: ${{ matrix.configuration }}
342+
THIS_PROJECT_PATH: ${{ github.workspace }}\src\Platforms\SecureFolderFS.Uno
343+
THIS_TFM: ${{ matrix.targetFramework }}
344+
345+
steps:
346+
- name: Checkout the repository
347+
uses: actions/checkout@v6
348+
with:
349+
submodules: recursive
350+
351+
- name: Install Dependencies
352+
uses: "./.github/install_dependencies"
353+
with:
354+
dotnet-version: ${{ env.DOTNET_SDK }}
355+
run-uno-check: false
356+
357+
- name: Restore
358+
run: |
359+
msbuild $env:SOLUTION_PATH `
360+
-t:Restore `
361+
-p:Platform="Any CPU" `
362+
-p:Configuration=$env:CONFIGURATION
363+
364+
- name: Build
365+
run: |
366+
msbuild $env:THIS_PROJECT_PATH `
367+
-t:Build `
368+
-p:Platform="Any CPU" `
369+
-p:Configuration=$env:CONFIGURATION `
370+
-p:TargetFramework=$env:THIS_TFM
371+
372+
# - name: Upload artifact
373+
# uses: actions/upload-artifact@v7
374+
# with:
375+
# name: ''
376+
# path: ''
377+
378+
# Builds the SecureFolderFS MAUI app project head.
379+
maui:
380+
needs: [core, sdk, shared, ui]
381+
runs-on: windows-2025-vs2026
382+
strategy:
383+
fail-fast: false
384+
matrix:
385+
configuration: [Release, Debug]
386+
targetFramework: [net10.0-android, net10.0-ios]
387+
env:
388+
CONFIGURATION: ${{ matrix.configuration }}
389+
THIS_PROJECT_PATH: ${{ github.workspace }}\src\Platforms\SecureFolderFS.Maui
390+
THIS_TFM: ${{ matrix.targetFramework }}
391+
392+
steps:
393+
- name: Checkout the repository
394+
uses: actions/checkout@v6
395+
with:
396+
submodules: recursive
397+
398+
- name: Install Dependencies
399+
uses: "./.github/install_dependencies"
400+
with:
401+
dotnet-version: ${{ env.DOTNET_SDK }}
402+
run-uno-check: false
403+
404+
- name: Restore
405+
run: |
406+
msbuild $env:SOLUTION_PATH `
407+
-t:Restore `
408+
-p:Platform="Any CPU" `
409+
-p:Configuration=$env:CONFIGURATION
410+
411+
- name: Build
412+
run: |
413+
msbuild $env:THIS_PROJECT_PATH `
414+
-t:Build `
415+
-p:Platform="Any CPU" `
416+
-p:Configuration=$env:CONFIGURATION `
417+
-p:TargetFramework=$env:THIS_TFM
418+
278419
# - name: Upload artifact
279420
# uses: actions/upload-artifact@v7
280421
# with:

src/Platforms/SecureFolderFS.Uno/SecureFolderFS.Uno.csproj

Lines changed: 3 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
1-
<Project Sdk="Uno.Sdk">
1+
<Project Sdk="Uno.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks Condition=" $([MSBuild]::IsOSPlatform('macOS')) ">$(TargetFrameworks);net10.0-desktop</TargetFrameworks>
4-
<TargetFrameworks Condition=" $([MSBuild]::IsOSPlatform('windows')) ">$(TargetFrameworks);net10.0-windows10.0.26100</TargetFrameworks>
5-
<TargetFrameworks Condition=" $([MSBuild]::IsOSPlatform('linux')) ">$(TargetFrameworks);net10.0-desktop</TargetFrameworks>
6-
7-
<!-- To build SecureFolderFS (Desktop) on Windows, comment net10.0-windows[...] -->
3+
<TargetFrameworks>net10.0-desktop;net10.0-windows10.0.26100.0</TargetFrameworks>
84

95
<!-- Uncomment if you want to explicity set a TargetFramework -->
106
<!--<TargetFramework>net10.0-desktop</TargetFramework>-->
11-
<!--<TargetFramework>net10.0-maccatalyst</TargetFramework>-->
127
<!--<TargetFramework>net10.0-windows10.0.26100</TargetFramework>-->
138
</PropertyGroup>
149

@@ -59,23 +54,6 @@
5954

6055
<Choose>
6156

62-
<!-- Mac Catalyst -->
63-
<When Condition="'$(TargetFramework)'=='net10.0-maccatalyst'">
64-
<ItemGroup>
65-
<PackageReference Include="Uno.CommunityToolkit.WinUI.UI.Controls.Markdown" />
66-
</ItemGroup>
67-
68-
<ItemGroup>
69-
<ProjectReference Include="..\..\Core\SecureFolderFS.Core.FUSE\SecureFolderFS.Core.FUSE.csproj" />
70-
<ProjectReference Include="..\..\Core\SecureFolderFS.Core.WebDav\SecureFolderFS.Core.WebDav.csproj" />
71-
</ItemGroup>
72-
73-
<PropertyGroup>
74-
<_RequiresILLinkPack>true</_RequiresILLinkPack>
75-
<_ComputeManagedAssemblyToLink>true</_ComputeManagedAssemblyToLink>
76-
</PropertyGroup>
77-
</When>
78-
7957
<!-- Skia Desktop -->
8058
<When Condition="'$(TargetFramework)'=='net10.0-desktop'">
8159
<PropertyGroup>
@@ -113,7 +91,7 @@
11391
</When>
11492

11593
<!-- Windows -->
116-
<When Condition="'$(TargetFramework)'=='net10.0-windows10.0.26100'">
94+
<When Condition="'$(TargetFramework)'=='net10.0-windows10.0.26100.0'">
11795
<ItemGroup>
11896
<PackageReference Include="CommunityToolkit.WinUI.UI.Controls.Markdown" />
11997
<PackageReference Include="Vanara.PInvoke.ComCtl32" />
@@ -145,7 +123,6 @@
145123
<EnableMsixTooling>True</EnableMsixTooling>
146124
<ApplicationManifest>app.manifest</ApplicationManifest>
147125
<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
148-
<TargetFramework>$(DotNetVersion)-net10.0-windows10.0.26100</TargetFramework>
149126
<PublishProfile>win-$(Platform).pubxml</PublishProfile>
150127
<!--<RuntimeIdentifier>win-$(Platform)</RuntimeIdentifier>-->
151128

0 commit comments

Comments
 (0)