From 9ec5c174dece270d7545dddb980abca3a8faabed Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Fri, 14 Nov 2025 21:55:25 +0100 Subject: [PATCH 1/3] Upgrade projects to target .NET 10, add conditional `System.Linq.Async` dependencies for compatibility with earlier frameworks, and update project files for consistency across the solution. --- src/Directory.Build.props | 2 +- src/apps/Directory.Build.props | 2 +- .../Elsa.Expressions.JavaScript.csproj | 4 ++++ src/modules/Elsa.Workflows.Core/Elsa.Workflows.Core.csproj | 4 ++++ test/Directory.Build.props | 2 +- .../Elsa.Workflows.ComponentTests.csproj | 1 - .../Elsa.Activities.IntegrationTests.csproj | 1 - .../Elsa.JavaScript.IntegrationTests.csproj | 1 - .../Elsa.Resilience.IntegrationTests.csproj | 1 - test/performance/Directory.Build.props | 4 +++- .../Elsa.Workflows.PerformanceTests.csproj | 1 - 11 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 84212213ef..6330b17112 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -3,7 +3,7 @@ - net8.0;net9.0 + net8.0;net9.0;net10.0 diff --git a/src/apps/Directory.Build.props b/src/apps/Directory.Build.props index 50f33a49d1..0d8817302b 100644 --- a/src/apps/Directory.Build.props +++ b/src/apps/Directory.Build.props @@ -1,6 +1,6 @@ - net9.0 + net10.0 latest enable enable diff --git a/src/modules/Elsa.Expressions.JavaScript/Elsa.Expressions.JavaScript.csproj b/src/modules/Elsa.Expressions.JavaScript/Elsa.Expressions.JavaScript.csproj index 7bf175399f..782df8f86e 100644 --- a/src/modules/Elsa.Expressions.JavaScript/Elsa.Expressions.JavaScript.csproj +++ b/src/modules/Elsa.Expressions.JavaScript/Elsa.Expressions.JavaScript.csproj @@ -9,6 +9,10 @@ + + + + diff --git a/src/modules/Elsa.Workflows.Core/Elsa.Workflows.Core.csproj b/src/modules/Elsa.Workflows.Core/Elsa.Workflows.Core.csproj index 9c4e5234e1..e400062f4d 100644 --- a/src/modules/Elsa.Workflows.Core/Elsa.Workflows.Core.csproj +++ b/src/modules/Elsa.Workflows.Core/Elsa.Workflows.Core.csproj @@ -19,6 +19,10 @@ + + + + diff --git a/test/Directory.Build.props b/test/Directory.Build.props index b2da2195fa..42bf5fb489 100644 --- a/test/Directory.Build.props +++ b/test/Directory.Build.props @@ -3,7 +3,7 @@ - net9.0 + net10.0 enable enable false diff --git a/test/component/Elsa.Workflows.ComponentTests/Elsa.Workflows.ComponentTests.csproj b/test/component/Elsa.Workflows.ComponentTests/Elsa.Workflows.ComponentTests.csproj index 4922b31c23..7d47511274 100644 --- a/test/component/Elsa.Workflows.ComponentTests/Elsa.Workflows.ComponentTests.csproj +++ b/test/component/Elsa.Workflows.ComponentTests/Elsa.Workflows.ComponentTests.csproj @@ -1,7 +1,6 @@ - net9.0 enable enable diff --git a/test/integration/Elsa.Activities.IntegrationTests/Elsa.Activities.IntegrationTests.csproj b/test/integration/Elsa.Activities.IntegrationTests/Elsa.Activities.IntegrationTests.csproj index aa9c67c89f..511e3c7ffd 100644 --- a/test/integration/Elsa.Activities.IntegrationTests/Elsa.Activities.IntegrationTests.csproj +++ b/test/integration/Elsa.Activities.IntegrationTests/Elsa.Activities.IntegrationTests.csproj @@ -1,7 +1,6 @@ - net9.0 [Elsa.Workflows.Core]* 25 diff --git a/test/integration/Elsa.JavaScript.IntegrationTests/Elsa.JavaScript.IntegrationTests.csproj b/test/integration/Elsa.JavaScript.IntegrationTests/Elsa.JavaScript.IntegrationTests.csproj index 0c109a83ed..b7f1ee64db 100644 --- a/test/integration/Elsa.JavaScript.IntegrationTests/Elsa.JavaScript.IntegrationTests.csproj +++ b/test/integration/Elsa.JavaScript.IntegrationTests/Elsa.JavaScript.IntegrationTests.csproj @@ -1,7 +1,6 @@ - net9.0 [Elsa.Expressions.JavaScript]* diff --git a/test/integration/Elsa.Resilience.IntegrationTests/Elsa.Resilience.IntegrationTests.csproj b/test/integration/Elsa.Resilience.IntegrationTests/Elsa.Resilience.IntegrationTests.csproj index ba05d918fc..a77331da1a 100644 --- a/test/integration/Elsa.Resilience.IntegrationTests/Elsa.Resilience.IntegrationTests.csproj +++ b/test/integration/Elsa.Resilience.IntegrationTests/Elsa.Resilience.IntegrationTests.csproj @@ -1,7 +1,6 @@ - net9.0 [Elsa.Resilience]*,[Elsa.Http]*,[Elsa.Workflows.Core]* diff --git a/test/performance/Directory.Build.props b/test/performance/Directory.Build.props index 674d5ca9b9..967c081224 100644 --- a/test/performance/Directory.Build.props +++ b/test/performance/Directory.Build.props @@ -1,5 +1,7 @@ - + + + diff --git a/test/performance/Elsa.Workflows.PerformanceTests/Elsa.Workflows.PerformanceTests.csproj b/test/performance/Elsa.Workflows.PerformanceTests/Elsa.Workflows.PerformanceTests.csproj index 244833891b..d1f31f944b 100644 --- a/test/performance/Elsa.Workflows.PerformanceTests/Elsa.Workflows.PerformanceTests.csproj +++ b/test/performance/Elsa.Workflows.PerformanceTests/Elsa.Workflows.PerformanceTests.csproj @@ -1,7 +1,6 @@ - net9.0 enable enable From 59e1ece8fd272cb104fe19553fc0fe1d6ee27b06 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Fri, 14 Nov 2025 22:01:32 +0100 Subject: [PATCH 2/3] Suppress null comparison warning in `WorkflowDefinitionStore` and remove xUnit references from performance test project. --- .../Management/WorkflowDefinitionStore.cs | 2 ++ .../Elsa.Workflows.PerformanceTests.csproj | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/modules/Elsa.Persistence.EFCore/Modules/Management/WorkflowDefinitionStore.cs b/src/modules/Elsa.Persistence.EFCore/Modules/Management/WorkflowDefinitionStore.cs index 7c2ffc8966..e805caeaa0 100644 --- a/src/modules/Elsa.Persistence.EFCore/Modules/Management/WorkflowDefinitionStore.cs +++ b/src/modules/Elsa.Persistence.EFCore/Modules/Management/WorkflowDefinitionStore.cs @@ -221,7 +221,9 @@ private IQueryable Filter(IQueryable que if (filter.IsSystem != null) queryable = filter.IsSystem == true ? queryable.Where(x => x.IsSystem == true) +#pragma warning disable CS0472 // The result of the expression is always the same since a value of this type is never equal to 'null' : queryable.Where(x => x.IsSystem == false || x.IsSystem == null!); +#pragma warning restore CS0472 // The result of the expression is always the same since a value of this type is never equal to 'null' if (filter.IsReadonly != null) queryable = queryable.Where(x => x.IsReadonly == filter.IsReadonly); return queryable; diff --git a/test/performance/Elsa.Workflows.PerformanceTests/Elsa.Workflows.PerformanceTests.csproj b/test/performance/Elsa.Workflows.PerformanceTests/Elsa.Workflows.PerformanceTests.csproj index d1f31f944b..5b99cf8327 100644 --- a/test/performance/Elsa.Workflows.PerformanceTests/Elsa.Workflows.PerformanceTests.csproj +++ b/test/performance/Elsa.Workflows.PerformanceTests/Elsa.Workflows.PerformanceTests.csproj @@ -7,10 +7,30 @@ false Exe false + + false + + + + + + + + + + + + + + + + + + From fc09396463733424e204013b2dd809d5e5477619 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Fri, 14 Nov 2025 22:05:51 +0100 Subject: [PATCH 3/3] Refactor performance test projects to remove xUnit references and update MSBuild properties for BenchmarkDotNet. --- test/performance/Directory.Build.props | 36 ++++++++++++++++--- .../Elsa.Workflows.PerformanceTests.csproj | 29 +-------------- 2 files changed, 33 insertions(+), 32 deletions(-) diff --git a/test/performance/Directory.Build.props b/test/performance/Directory.Build.props index 967c081224..9565fdad1b 100644 --- a/test/performance/Directory.Build.props +++ b/test/performance/Directory.Build.props @@ -1,9 +1,37 @@ - + - - - + + enable + enable + false + Exe + false + + false + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/performance/Elsa.Workflows.PerformanceTests/Elsa.Workflows.PerformanceTests.csproj b/test/performance/Elsa.Workflows.PerformanceTests/Elsa.Workflows.PerformanceTests.csproj index 5b99cf8327..57ec54ffe4 100644 --- a/test/performance/Elsa.Workflows.PerformanceTests/Elsa.Workflows.PerformanceTests.csproj +++ b/test/performance/Elsa.Workflows.PerformanceTests/Elsa.Workflows.PerformanceTests.csproj @@ -1,36 +1,9 @@ - - enable - enable - - false - Exe - false - - false - + - - - - - - - - - - - - - - - - - -