diff --git a/.github/workflows/build-samples-datasync-server-cosmosdb.yml b/.github/workflows/build-samples-datasync-server-cosmosdb.yml index 35eab5b..7468ba8 100644 --- a/.github/workflows/build-samples-datasync-server-cosmosdb.yml +++ b/.github/workflows/build-samples-datasync-server-cosmosdb.yml @@ -7,7 +7,11 @@ env: DOTNET_VERSION: '10.0.x' DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 DOTNET_NOLOGO: true - DOTNET_CONFIGURATION: 'Release' + # Debug (not Release): this is a build-only compile sanity check, never published/shipped. + # Release builds pointlessly enable IL trimming/AOT machinery on some sample heads (see + # https://github.com/CommunityToolkit/Datasync/issues/521), so all sample CI workflows build + # Debug to avoid that overhead consistently, even where it isn't currently an issue. + DOTNET_CONFIGURATION: 'Debug' SolutionFile: 'samples/datasync-server-cosmosdb-singlecontainer/Datasync.Server.CosmosDb.SingleContainer.sln' permissions: diff --git a/.github/workflows/build-samples-datasync-server.yml b/.github/workflows/build-samples-datasync-server.yml index dc41baf..1a4f28f 100644 --- a/.github/workflows/build-samples-datasync-server.yml +++ b/.github/workflows/build-samples-datasync-server.yml @@ -7,7 +7,11 @@ env: DOTNET_VERSION: '10.0.x' DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 DOTNET_NOLOGO: true - DOTNET_CONFIGURATION: 'Release' + # Debug (not Release): this is a build-only compile sanity check, never published/shipped. + # Release builds pointlessly enable IL trimming/AOT machinery on some sample heads (see + # https://github.com/CommunityToolkit/Datasync/issues/521), so all sample CI workflows build + # Debug to avoid that overhead consistently, even where it isn't currently an issue. + DOTNET_CONFIGURATION: 'Debug' SolutionFile: 'samples/datasync-server/Sample.Datasync.Server.sln' permissions: diff --git a/.github/workflows/build-samples-todoapp-avalonia.yml b/.github/workflows/build-samples-todoapp-avalonia.yml index 2312b59..e5a1f48 100644 --- a/.github/workflows/build-samples-todoapp-avalonia.yml +++ b/.github/workflows/build-samples-todoapp-avalonia.yml @@ -7,7 +7,15 @@ env: DOTNET_VERSION: '10.0.x' DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 DOTNET_NOLOGO: true - DOTNET_CONFIGURATION: 'Release' + # Debug (not Release): this is a build-only compile sanity check, never published/shipped. + # Release triggers the real ILLink trimmer (not just the trim analyzer) on the iOS head even + # for a plain `dotnet build` of a simulator RID - "Optimizing assemblies for + # size"/"IL stripping assemblies" dominated ~90% of that job's build time (15+ minutes). + # Debug avoids that IL trimming/AOT machinery entirely (see + # https://blog.verslu.is/maui/exclude-assemblies-from-trimming/ and + # https://github.com/CommunityToolkit/Datasync/issues/521), so all sample CI workflows build + # Debug for consistency, even on heads where it isn't currently an issue. + DOTNET_CONFIGURATION: 'Debug' # NOTE: This sample's solution (TodoApp.Avalonia.sln) also contains Android and iOS heads # (net10.0-android / net10.0-ios). Only the shared and Desktop (net10.0) projects are built # directly here, not the full .sln - the Android and iOS heads are built by their own jobs diff --git a/.github/workflows/build-samples-todoapp-blazor-wasm.yml b/.github/workflows/build-samples-todoapp-blazor-wasm.yml index 8835c45..9fff455 100644 --- a/.github/workflows/build-samples-todoapp-blazor-wasm.yml +++ b/.github/workflows/build-samples-todoapp-blazor-wasm.yml @@ -7,7 +7,11 @@ env: DOTNET_VERSION: '10.0.x' DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 DOTNET_NOLOGO: true - DOTNET_CONFIGURATION: 'Release' + # Debug (not Release): this is a build-only compile sanity check, never published/shipped. + # Release builds pointlessly enable IL trimming/AOT machinery on some sample heads (see + # https://github.com/CommunityToolkit/Datasync/issues/521), so all sample CI workflows build + # Debug to avoid that overhead consistently, even where it isn't currently an issue. + DOTNET_CONFIGURATION: 'Debug' SolutionFile: 'samples/todoapp-blazor-wasm/TodoApp.BlazorWasm.sln' permissions: diff --git a/.github/workflows/build-samples-todoapp-maui.yml b/.github/workflows/build-samples-todoapp-maui.yml index 0f977cb..40b4ccd 100644 --- a/.github/workflows/build-samples-todoapp-maui.yml +++ b/.github/workflows/build-samples-todoapp-maui.yml @@ -7,7 +7,15 @@ env: DOTNET_VERSION: '10.0.x' DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 DOTNET_NOLOGO: true - DOTNET_CONFIGURATION: 'Release' + # Debug (not Release): this is a build-only compile sanity check, never published/shipped. + # Release triggers the real ILLink trimmer (not just the trim analyzer) on the iOS head even + # for a plain `dotnet build` of a simulator RID - "Optimizing assemblies for + # size"/"IL stripping assemblies" dominated ~90% of that job's build time (15+ minutes). + # Debug avoids that IL trimming/AOT machinery entirely (see + # https://blog.verslu.is/maui/exclude-assemblies-from-trimming/ and + # https://github.com/CommunityToolkit/Datasync/issues/521), so all sample CI workflows build + # Debug for consistency, even on heads where it isn't currently an issue. + DOTNET_CONFIGURATION: 'Debug' # TodoApp.MAUI.csproj targets net10.0-android;net10.0-ios, with net10.0-windows10.0.19041.0 # conditionally appended only when building on Windows (that head is built separately in # build-samples-todoapp-windows.yml). Restore/build here is explicitly scoped to one mobile diff --git a/.github/workflows/build-samples-todoapp-mvc.yml b/.github/workflows/build-samples-todoapp-mvc.yml index f8415ff..3650820 100644 --- a/.github/workflows/build-samples-todoapp-mvc.yml +++ b/.github/workflows/build-samples-todoapp-mvc.yml @@ -7,7 +7,11 @@ env: DOTNET_VERSION: '10.0.x' DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 DOTNET_NOLOGO: true - DOTNET_CONFIGURATION: 'Release' + # Debug (not Release): this is a build-only compile sanity check, never published/shipped. + # Release builds pointlessly enable IL trimming/AOT machinery on some sample heads (see + # https://github.com/CommunityToolkit/Datasync/issues/521), so all sample CI workflows build + # Debug to avoid that overhead consistently, even where it isn't currently an issue. + DOTNET_CONFIGURATION: 'Debug' SolutionFile: 'samples/todoapp-mvc/part5.sln' permissions: diff --git a/.github/workflows/build-samples-todoapp-tutorial.yml b/.github/workflows/build-samples-todoapp-tutorial.yml index 8e9435a..0ef0a9e 100644 --- a/.github/workflows/build-samples-todoapp-tutorial.yml +++ b/.github/workflows/build-samples-todoapp-tutorial.yml @@ -7,7 +7,11 @@ env: DOTNET_VERSION: '10.0.x' DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 DOTNET_NOLOGO: true - DOTNET_CONFIGURATION: 'Release' + # Debug (not Release): this is a build-only compile sanity check, never published/shipped. + # Release builds pointlessly enable IL trimming/AOT machinery on some sample heads (see + # https://github.com/CommunityToolkit/Datasync/issues/521), so all sample CI workflows build + # Debug to avoid that overhead consistently, even where it isn't currently an issue. + DOTNET_CONFIGURATION: 'Debug' ServerProjectFile: 'samples/todoapp-tutorial/ServerApp/ServerApp.csproj' # ClientApp is a WPF project targeting net10.0-windows, so it is built on a windows-latest # runner in a separate job below. See https://github.com/CommunityToolkit/Datasync/issues/510. diff --git a/.github/workflows/build-samples-todoapp-uno.yml b/.github/workflows/build-samples-todoapp-uno.yml index 196c410..54ea20d 100644 --- a/.github/workflows/build-samples-todoapp-uno.yml +++ b/.github/workflows/build-samples-todoapp-uno.yml @@ -16,7 +16,11 @@ env: DOTNET_VERSION: '10.0.x' DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 DOTNET_NOLOGO: true - DOTNET_CONFIGURATION: 'Release' + # Debug (not Release): this is a build-only compile sanity check, never published/shipped. + # Release builds pointlessly enable IL trimming/AOT machinery on some sample heads (see + # https://github.com/CommunityToolkit/Datasync/issues/521), so all sample CI workflows build + # Debug to avoid that overhead consistently, even where it isn't currently an issue. + DOTNET_CONFIGURATION: 'Debug' # TodoApp.Uno.csproj is a single Uno.Sdk project with a multi-head TargetFrameworks list # (net10.0-android;net10.0-ios;net10.0-maccatalyst;net10.0-windows10.0.26100; # net10.0-browserwasm;net10.0-desktop). No single runner can build every head (mobile heads diff --git a/.github/workflows/build-samples-todoapp-windows.yml b/.github/workflows/build-samples-todoapp-windows.yml index dd8c2e4..c6300ee 100644 --- a/.github/workflows/build-samples-todoapp-windows.yml +++ b/.github/workflows/build-samples-todoapp-windows.yml @@ -7,7 +7,11 @@ env: DOTNET_VERSION: '10.0.x' DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 DOTNET_NOLOGO: true - DOTNET_CONFIGURATION: 'Release' + # Debug (not Release): this is a build-only compile sanity check, never published/shipped. + # Release builds pointlessly enable IL trimming/AOT machinery on some sample heads (see + # https://github.com/CommunityToolkit/Datasync/issues/521), so all sample CI workflows build + # Debug to avoid that overhead consistently, even where it isn't currently an issue. + DOTNET_CONFIGURATION: 'Debug' # WinUI3 declares x86;x64;ARM64 with no AnyCPU, so Platform must be # specified explicitly - the CLI default of AnyCPU is not a valid configuration for this project. WinUI3ProjectFile: 'samples/todoapp/TodoApp.WinUI3/TodoApp.WinUI3.csproj' diff --git a/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.Android/TodoApp.Avalonia.Android.csproj b/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.Android/TodoApp.Avalonia.Android.csproj index dbd8391..1012992 100644 --- a/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.Android/TodoApp.Avalonia.Android.csproj +++ b/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.Android/TodoApp.Avalonia.Android.csproj @@ -9,6 +9,19 @@ 1.0 apk false + + + true diff --git a/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.iOS/TodoApp.Avalonia.iOS.csproj b/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.iOS/TodoApp.Avalonia.iOS.csproj index 9533f4d..24c2d93 100644 --- a/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.iOS/TodoApp.Avalonia.iOS.csproj +++ b/samples/todoapp/TodoApp.Avalonia/TodoApp.Avalonia.iOS/TodoApp.Avalonia.iOS.csproj @@ -4,6 +4,19 @@ net10.0-ios 15.0 enable + + + true diff --git a/samples/todoapp/TodoApp.MAUI/TodoApp.MAUI.csproj b/samples/todoapp/TodoApp.MAUI/TodoApp.MAUI.csproj index 6235f7b..df0379e 100644 --- a/samples/todoapp/TodoApp.MAUI/TodoApp.MAUI.csproj +++ b/samples/todoapp/TodoApp.MAUI/TodoApp.MAUI.csproj @@ -29,6 +29,20 @@ 21.0 10.0.17763.0 10.0.17763.0 + + + true