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