Skip to content

Commit 56f23be

Browse files
authored
GitHub: Add workflow jobs for building SDK and core library collections (#115)
1 parent f36f089 commit 56f23be

3 files changed

Lines changed: 132 additions & 4 deletions

File tree

.github/workflows/ci.yml

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,134 @@ jobs:
147147
-p:Platform="Any CPU" `
148148
-p:Configuration=$env:CONFIGURATION
149149
150+
# - name: Upload artifact
151+
# uses: actions/upload-artifact@v7
152+
# with:
153+
# name: ''
154+
# path: ''
155+
156+
# Builds the SecureFolderFS SDK libraries
157+
sdk:
158+
needs: shared
159+
runs-on: windows-2025-vs2026
160+
strategy:
161+
fail-fast: false
162+
matrix:
163+
configuration: [Release, Debug]
164+
project: [Sdk, Accounts, DeviceLink, Dropbox, Ftp, GoogleDrive, WebDavClient]
165+
targetFramework: [net10.0]
166+
env:
167+
CONFIGURATION: ${{ matrix.configuration }}
168+
PROJECT: ${{ matrix.project }}
169+
170+
steps:
171+
- name: Checkout the repository
172+
uses: actions/checkout@v6
173+
with:
174+
submodules: recursive
175+
176+
- name: Install Dependencies
177+
uses: "./.github/install_dependencies"
178+
with:
179+
dotnet-version: ${{ env.DOTNET_SDK }}
180+
run-uno-check: false
181+
182+
- name: Find appropriate project to build
183+
run: |
184+
if ($env:PROJECT -eq "Sdk") {
185+
$thisProject = "Sdk"
186+
} else {
187+
$thisProject = "Sdk.$env:PROJECT"
188+
}
189+
$thisProjectPath = "$env:WORKING_DIR\src\Sdk\SecureFolderFS.$thisProject"
190+
Add-Content -Path $env:GITHUB_ENV -Value "THIS_PROJECT_PATH=$thisProjectPath"
191+
192+
- name: Restore
193+
run: |
194+
msbuild $env:SOLUTION_PATH `
195+
-t:Restore `
196+
-p:Platform="Any CPU" `
197+
-p:Configuration=$env:CONFIGURATION
198+
199+
- name: Build
200+
run: |
201+
msbuild $env:THIS_PROJECT_PATH `
202+
-t:Build `
203+
-p:Platform="Any CPU" `
204+
-p:Configuration=$env:CONFIGURATION
205+
206+
# - name: Upload artifact
207+
# uses: actions/upload-artifact@v7
208+
# with:
209+
# name: ''
210+
# path: ''
211+
212+
# Builds the SecureFolderFS Core libraries
213+
core:
214+
needs: [shared, lib]
215+
runs-on: windows-2025-vs2026
216+
strategy:
217+
fail-fast: false
218+
matrix:
219+
configuration: [Release, Debug]
220+
project: [Dokany, FileSystem, FUSE, WebDav, WinFsp, Core, Cryptography, Migration]
221+
targetFramework: [net10.0]
222+
include:
223+
- configuration: Release
224+
project: MobileFS
225+
targetFramework: net10.0-android
226+
- configuration: Debug
227+
project: MobileFS
228+
targetFramework: net10.0-android
229+
- configuration: Release
230+
project: MobileFS
231+
targetFramework: net10.0-ios
232+
- configuration: Debug
233+
project: MobileFS
234+
targetFramework: net10.0-ios
235+
env:
236+
CONFIGURATION: ${{ matrix.configuration }}
237+
PROJECT: ${{ matrix.project }}
238+
THIS_PROJECT_PATH: ${{ github.workspace }}\src\Core\SecureFolderFS.Core.${{ matrix.project }}
239+
THIS_TFM: ${{ matrix.targetFramework }}
240+
241+
steps:
242+
- name: Checkout the repository
243+
uses: actions/checkout@v6
244+
with:
245+
submodules: recursive
246+
247+
- name: Install Dependencies
248+
uses: "./.github/install_dependencies"
249+
with:
250+
dotnet-version: ${{ env.DOTNET_SDK }}
251+
run-uno-check: false
252+
253+
- name: Find appropriate project to build
254+
run: |
255+
if ($env:PROJECT -eq "Core") {
256+
$thisProject = "Core"
257+
} else {
258+
$thisProject = "Core.$env:PROJECT"
259+
}
260+
$thisProjectPath = "$env:WORKING_DIR\src\Core\SecureFolderFS.$thisProject"
261+
Add-Content -Path $env:GITHUB_ENV -Value "THIS_PROJECT_PATH=$thisProjectPath"
262+
263+
- name: Restore
264+
run: |
265+
msbuild $env:SOLUTION_PATH `
266+
-t:Restore `
267+
-p:Platform="Any CPU" `
268+
-p:Configuration=$env:CONFIGURATION
269+
270+
- name: Build
271+
run: |
272+
msbuild $env:THIS_PROJECT_PATH `
273+
-t:Build `
274+
-p:Platform="Any CPU" `
275+
-p:Configuration=$env:CONFIGURATION `
276+
-p:TargetFramework=$env:THIS_TFM
277+
150278
# - name: Upload artifact
151279
# uses: actions/upload-artifact@v7
152280
# with:

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
<a style="text-decoration:none" href="https://github.com/securefolderfs-community/SecureFolderFS/releases/latest">
77
<img src="https://img.shields.io/github/v/release/securefolderfs-community/SecureFolderFS" />
88
</a>
9-
<!--<a style="text-decoration:none" href="https://github.com/securefolderfs-community/SecureFolderFS/actions/workflows/ci.yml">
9+
<a style="text-decoration:none" href="https://github.com/securefolderfs-community/SecureFolderFS/actions/workflows/ci.yml">
1010
<img src="https://github.com/securefolderfs-community/SecureFolderFS/actions/workflows/ci.yml/badge.svg" />
11-
</a>-->
11+
</a>
1212
<a style="text-decoration:none" href="https://crowdin.com/project/securefolderfs">
1313
<img src="https://badges.crowdin.net/securefolderfs/localized.svg" />
1414
</a>

src/Core/SecureFolderFS.Core.WebDav/SecureFolderFS.Core.WebDav.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
<ProjectReference Include="..\SecureFolderFS.Core.Cryptography\SecureFolderFS.Core.Cryptography.csproj" />
1111
<ProjectReference Include="..\SecureFolderFS.Core.FileSystem\SecureFolderFS.Core.FileSystem.csproj" />
1212
<ProjectReference Include="..\..\Shared\SecureFolderFS.Storage\SecureFolderFS.Storage.csproj" />
13-
<ProjectReference Include="..\..\..\lib\nwebdav\NWebDav.Server.HttpListener\NWebDav.Server.HttpListener.csproj" />
14-
<ProjectReference Include="..\..\..\lib\nwebdav\NWebDav.Server\NWebDav.Server.csproj" />
13+
<ProjectReference Include="..\..\..\lib\nwebdav\src\NWebDav.Server.HttpListener\NWebDav.Server.HttpListener.csproj" />
14+
<ProjectReference Include="..\..\..\lib\nwebdav\src\NWebDav.Server\NWebDav.Server.csproj" />
1515
</ItemGroup>
1616

1717
</Project>

0 commit comments

Comments
 (0)