The CI and CD should be one unified workflow.
There needs to be smoke test (build) jobs for the following targets:
CI / formatting XAML Styler
CI / lib Libraries
Configuration: Release, Debug
Dependency: NWebDav.Server, NWebDav.Server.HttpListener, Tmds.Fuse
CI / shared (Release, Shared, net10.0) Shared
Configuration: Release, Debug
Project: Shared, SourceGenerator, Storage
TargetFramework: net10.0
CI / sdk (Release, Sdk, net10.0) SDK (needs Shared)
Configuration: Release, Debug
Project: Sdk, Accounts, DeviceLink, Dropbox, Ftp, GoogleDrive, WebDavClient
TargetFramework: net10.0
CI / core (Release, Dokany, net10.0) Core (needs Shared, Libraries)
Configuration: Release, Debug
Project: Dokany, FileSystem, FUSE, MobileFS, WebDav, WinFsp, Core, Cryptography, Migration
TargetFramework: net10.0, net10.0-android, net10.0-ios (the previous two are custom implemented matrices)
CI / ui (Release, net10.0) UI (needs Core, SDK)
Configuration: Release, Debug
TargetFramework: net10.0
CI / uno (Release, net10.0-desktop) Uno app (needs Core, SDK, Shared, UI)
Configuration: Release, Debug
TargetFramework: net10.0-desktop, net10.0-maccatalyst, net10.0-windows10.0.26100.0
CI / maui (Release, net10.0-android) MAUI app (needs Core, SDK, Shared, UI)
Configuration: Release, Debug
TargetFramework: net10.0-android, net10.0-ios
CI / cli (Release, net10.0) CLI
Configuration: Release, Debug
TargetFramework: net10.0
CI / test (Release, net10.0) CLI
Configuration: Release, Debug
TargetFramework: net10.0
The following jobs must have versioning / package published and uploaded (implementation is custom for each project):
The following performance optimisations can be made:
The CI and CD should be one unified workflow.
There needs to be smoke test (build) jobs for the following targets:
CI / formattingXAML StylerCI / libLibrariesCI / shared (Release, Shared, net10.0)SharedCI / sdk (Release, Sdk, net10.0)SDK (needs Shared)CI / core (Release, Dokany, net10.0)Core (needs Shared, Libraries)CI / ui (Release, net10.0)UI (needs Core, SDK)CI / uno (Release, net10.0-desktop)Uno app (needs Core, SDK, Shared, UI)CI / maui (Release, net10.0-android)MAUI app (needs Core, SDK, Shared, UI)CI / cli (Release, net10.0)CLIConfiguration: Release, DebugTargetFramework: net10.0CI / test (Release, net10.0)CLIThe following jobs must have versioning / package published and uploaded (implementation is custom for each project):
CLIThe following performance optimisations can be made:
-maxcpucountswitch to all commands)