From 56f288fea43d3d1fea8f39079fcf078a27b4fa12 Mon Sep 17 00:00:00 2001 From: Aaron Stannard Date: Thu, 12 Oct 2017 00:12:54 -0500 Subject: [PATCH 1/7] switched to LTS .NET SDK channel --- build.ps1 | 2 +- src/common.props | 18 +----------------- 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/build.ps1 b/build.ps1 index d1c6d528e8b..11203dd7bfd 100644 --- a/build.ps1 +++ b/build.ps1 @@ -31,7 +31,7 @@ Param( $FakeVersion = "4.63.0" $NBenchVersion = "1.0.1" -$DotNetChannel = "preview"; +$DotNetChannel = "LTS"; $DotNetVersion = "2.0.0"; $DotNetInstallerUri = "https://raw.githubusercontent.com/dotnet/cli/v$DotNetVersion/scripts/obtain/dotnet-install.ps1"; $NugetVersion = "4.3.0"; diff --git a/src/common.props b/src/common.props index e399e5010a3..34721118a95 100644 --- a/src/common.props +++ b/src/common.props @@ -14,22 +14,6 @@ akka;actors;actor model;Akka;concurrency - Maintenance Release for Akka.NET 1.3** -Updates and bugfixes**: -- Bugfix: Hyperion NuGet package restore creating duplicate assemblies for the same version inside Akka -- Various documentation fixes and updates -- Bugfix: issue where data sent via UDP when `ByteString` payload had buffers with length more than 1, `UdpSender` only wrote the first part of the buffers and dropped the rest. -- Bugfix: Akka.IO.Tcp failed to write some outgoing messages. -- Improved support for OSX & Rider -- Bugfix: Akka.Persistence support for `SerializerWithStringManifest` required by Akka.Cluster.Sharding and Akka.Cluster.Tools - - Akka.Persistence.Sqlite and Akka.Persistence.SqlServer were unable to support `SerializerWithStringManifest`, so using Akka.Cluster.Sharding with Sql plugins would not work. -- Bugfix: Akka.Streams generic type parameters of the flow returned from current implementation of Bidiflow's JoinMat method were incorrect. -- Bugfix: `PersistenceMessageSerializer` was failing with the wrong exceptoin when a non-supported type was provided. -Akka.Persistence backwards compability warning**: -- Akka.Persistence.Sql introduces an additional field to the schema used by Sql-based plugins to allow for the use of `SerializerWithStringManifest` called `serializer_id`. It requires any previous Sql schema to be updated to have this field. Details are included in the Akka.Persistence.Sqlite plugin README.md file. Users of the Akka.Persistence.Sqlite plugin must alter their existing databases to add the field `serializer_id int (4)`: -``` -ALTER TABLE {your_event_journal_table_name} ADD COLUMN `serializer_id` INTEGER ( 4 ) -ALTER TABLE {your_snapshot_table_name} ADD COLUMN `serializer_id` INTEGER ( 4 ) -``` + Placeholder \ No newline at end of file From e088a06295f83ff28bc945ab5010d183c902220c Mon Sep 17 00:00:00 2001 From: Aaron Stannard Date: Thu, 12 Oct 2017 00:27:15 -0500 Subject: [PATCH 2/7] testing a theory with the Linux .NET Core versioning stuff --- src/core/Akka.Streams.Tests/Akka.Streams.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/Akka.Streams.Tests/Akka.Streams.Tests.csproj b/src/core/Akka.Streams.Tests/Akka.Streams.Tests.csproj index 1078f4487ca..6a13d072f32 100644 --- a/src/core/Akka.Streams.Tests/Akka.Streams.Tests.csproj +++ b/src/core/Akka.Streams.Tests/Akka.Streams.Tests.csproj @@ -3,7 +3,7 @@ Akka.Streams.Tests - net452;netcoreapp1.1 + net452;netcoreapp1.1.1 From f9db85e520422f16a6df5ea9406de73f9fb1f48d Mon Sep 17 00:00:00 2001 From: Aaron Stannard Date: Thu, 12 Oct 2017 09:39:29 -0500 Subject: [PATCH 3/7] ignoring downgrade warning https://github.com/NuGet/Home/issues/5594 --- src/common.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common.props b/src/common.props index 34721118a95..5308d9c89a1 100644 --- a/src/common.props +++ b/src/common.props @@ -6,7 +6,7 @@ http://getakka.net/images/akkalogo.png https://github.com/akkadotnet/akka.net https://github.com/akkadotnet/akka.net/blob/master/LICENSE - $(NoWarn);CS1591 + $(NoWarn);CS1591;NU1605 2.3.0 From 27e5155cc13243effaa64bee26373d72beefa380 Mon Sep 17 00:00:00 2001 From: Aaron Stannard Date: Fri, 13 Oct 2017 10:18:48 -0500 Subject: [PATCH 4/7] Revert "testing a theory with the Linux .NET Core versioning stuff" This reverts commit e088a06295f83ff28bc945ab5010d183c902220c. --- src/core/Akka.Streams.Tests/Akka.Streams.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/Akka.Streams.Tests/Akka.Streams.Tests.csproj b/src/core/Akka.Streams.Tests/Akka.Streams.Tests.csproj index 6a13d072f32..1078f4487ca 100644 --- a/src/core/Akka.Streams.Tests/Akka.Streams.Tests.csproj +++ b/src/core/Akka.Streams.Tests/Akka.Streams.Tests.csproj @@ -3,7 +3,7 @@ Akka.Streams.Tests - net452;netcoreapp1.1.1 + net452;netcoreapp1.1 From 02d6e8eec6bb1a1dcfe15b3356b685230a69c92c Mon Sep 17 00:00:00 2001 From: Aaron Stannard Date: Fri, 13 Oct 2017 12:28:58 -0500 Subject: [PATCH 5/7] downgrade xunit2 dependency --- src/common.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common.props b/src/common.props index 5308d9c89a1..6d9755ca056 100644 --- a/src/common.props +++ b/src/common.props @@ -9,7 +9,7 @@ $(NoWarn);CS1591;NU1605 - 2.3.0 + 2.3.0-beta5-* 15.3.0 akka;actors;actor model;Akka;concurrency From 2d47e40de3ae34d8d9914272d0c733ba7bcb77d4 Mon Sep 17 00:00:00 2001 From: Aaron Stannard Date: Fri, 13 Oct 2017 15:49:36 -0500 Subject: [PATCH 6/7] skipped buggy .NET Core specs --- build.fsx | 12 +++++------ buildIncremental.fsx | 48 ++++++++++++++++++++++++++++++-------------- 2 files changed, 39 insertions(+), 21 deletions(-) diff --git a/build.fsx b/build.fsx index e44b9bf21c8..5afb582ccbf 100644 --- a/build.fsx +++ b/build.fsx @@ -111,12 +111,12 @@ Target "RunTests" (fun _ -> let projects = match getBuildParamOrDefault "incremental" "" with | "true" -> log "The following test projects would be run under Incremental Test config..." - getIncrementalUnitTests() |> Seq.map (fun x -> printfn "\t%s" x; x) + getIncrementalUnitTests Net |> Seq.map (fun x -> printfn "\t%s" x; x) | "experimental" -> log "The following test projects would be run under Incremental Test config..." - getIncrementalUnitTests() |> Seq.iter log - getUnitTestProjects() + (getIncrementalUnitTests Net) |> Seq.iter log + getUnitTestProjects Net | _ -> log "All test projects will be run..." - getUnitTestProjects() + getUnitTestProjects Net let runSingleProject project = let result = ExecProcess(fun info -> @@ -140,9 +140,9 @@ Target "RunTestsNetCore" (fun _ -> let projects = match getBuildParamOrDefault "incremental" "" with | "true" -> log "The following test projects would be run under Incremental Test config..." - getIncrementalUnitTests() |> Seq.map (fun x -> printfn "\t%s" x; x) + getIncrementalUnitTests NetCore |> Seq.map (fun x -> printfn "\t%s" x; x) | "experimental" -> log "The following test projects would be run under Incremental Test config..." - getIncrementalUnitTests() |> Seq.iter log + getIncrementalUnitTests NetCore |> Seq.iter log getUnitTestProjects() | _ -> log "All test projects will be run..." getUnitTestProjects() diff --git a/buildIncremental.fsx b/buildIncremental.fsx index 3033743dd92..70436a529b3 100644 --- a/buildIncremental.fsx +++ b/buildIncremental.fsx @@ -16,6 +16,17 @@ module IncrementalTests = | Linux | All + type Runtime = + | NetCore + | Net + + let SkippedTest name runtime = + match (name, runtime) with + | (EndsWith "Sqlite.Tests.csproj", NetCore) -> false + | (EndsWith "Cluster.Sharding.Tests.MultiNode.csproj", NetCore) -> false + | _ -> true + + let (|IsRunnable|_|) name platform (csproj:string) = let isSupported = match platform with @@ -30,12 +41,13 @@ module IncrementalTests = | IsRunnable "Akka.API.Tests.csproj" Linux proj -> false | _ -> true - let getUnitTestProjects() = + let getUnitTestProjects runtime = let allTestProjects = !! "./**/core/**/*.Tests.csproj" ++ "./**/contrib/**/*.Tests.csproj" -- "./**/serializers/**/*Wire*.csproj" allTestProjects |> Seq.filter IsRunnable + |> Seq.filter (fun p -> SkippedTest p runtime) // filter out specs that should not be run based on .NET Core / .NET differences let isBuildScript (file:string) = match file with @@ -131,16 +143,18 @@ module IncrementalTests = // MultiNodeTestRunner incremental test selection //-------------------------------------------------------------------------------- - let getMntrProjects() = + let getMntrProjects runtime = !! "./src/**/*Tests.MultiNode.csproj" |> Seq.map (fun x -> x.ToString()) + |> Seq.filter (fun p -> SkippedTest p runtime) // filter out specs that should not be run based on .NET Core / .NET differences let getAllMntrTestAssemblies() = // if we're not running incremental tests - getMntrProjects() + getMntrProjects Net |> Seq.map (fun x -> getAssemblyForProject x) + |> Seq.filter (fun p -> SkippedTest p Net) // filter out specs that should not be run based on .NET Core / .NET differences let getAllMntrTestNetCoreAssemblies() = // if we're not running incremental tests - getMntrProjects() + getMntrProjects NetCore |> Seq.map (fun x -> getNetCoreAssemblyForProject x) //-------------------------------------------------------------------------------- @@ -215,7 +229,7 @@ module IncrementalTests = //logfn "%s references %s but is not a test project..." proj.parentProject.projectName project yield! findTestProjectsThatHaveDependencyOn proj.parentProject.projectName testMode } - let getIncrementalTestProjects2 testMode = + let getIncrementalTestProjects2 testMode runtime = logfn "Searching for incremental tests to run in %s test mode..." (testMode.ToString()) let updatedFiles = getUpdatedFiles() log "The following files have been updated since forking from dev branch..." @@ -223,10 +237,13 @@ module IncrementalTests = log "The following test projects will be run..." if (updatedFiles |> Seq.exists (fun p -> isBuildScript p)) then log "Full test suite" - match testMode with - | Unit -> getUnitTestProjects() - | MNTR -> getMntrProjects() - | Perf -> getPerfTestProjects() + let specs = + match testMode with + | Unit -> getUnitTestProjects runtime + | MNTR -> getMntrProjects runtime + | Perf -> getPerfTestProjects() + specs + |> Seq.filter (fun p -> SkippedTest p runtime) // filter out specs that should not be run based on .NET Core / .NET differences else updatedFiles |> generateContainingProjFileCollection @@ -236,18 +253,19 @@ module IncrementalTests = |> Seq.map (fun p -> p.parentProject.projectPath) |> Seq.distinct |> Seq.filter IsRunnable + |> Seq.filter (fun p -> SkippedTest p runtime) // filter out specs that should not be run based on .NET Core / .NET differences - let getIncrementalUnitTests() = - getIncrementalTestProjects2 Unit + let getIncrementalUnitTests runtime = + getIncrementalTestProjects2 Unit runtime - let getIncrementalMNTRTests() = - getIncrementalTestProjects2 MNTR + let getIncrementalMNTRTests = + getIncrementalTestProjects2 MNTR Net |> Seq.map (fun p -> getAssemblyForProject p) let getIncrementalNetCoreMNTRTests() = - getIncrementalTestProjects2 MNTR + getIncrementalTestProjects2 MNTR NetCore |> Seq.map (fun p -> getNetCoreAssemblyForProject p) let getIncrementalPerfTests() = - getIncrementalTestProjects2 Perf + getIncrementalTestProjects2 Perf Net |> Seq.map (fun p -> getAssemblyForProject p) From 497a5f749d0c52626a26ca569a37bd00bc699583 Mon Sep 17 00:00:00 2001 From: Aaron Stannard Date: Fri, 13 Oct 2017 16:18:53 -0500 Subject: [PATCH 7/7] forgot to save some changes --- build.fsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build.fsx b/build.fsx index 5afb582ccbf..59fd1a5f417 100644 --- a/build.fsx +++ b/build.fsx @@ -143,9 +143,9 @@ Target "RunTestsNetCore" (fun _ -> getIncrementalUnitTests NetCore |> Seq.map (fun x -> printfn "\t%s" x; x) | "experimental" -> log "The following test projects would be run under Incremental Test config..." getIncrementalUnitTests NetCore |> Seq.iter log - getUnitTestProjects() + getUnitTestProjects NetCore | _ -> log "All test projects will be run..." - getUnitTestProjects() + getUnitTestProjects NetCore let runSingleProject project = let result = ExecProcess(fun info -> @@ -171,9 +171,9 @@ Target "MultiNodeTests" (fun _ -> let multiNodeTestAssemblies = match getBuildParamOrDefault "incremental" "" with | "true" -> log "The following test projects would be run under Incremental Test config..." - getIncrementalMNTRTests() |> Seq.map (fun x -> printfn "\t%s" x; x) + getIncrementalMNTRTests |> Seq.map (fun x -> printfn "\t%s" x; x) | "experimental" -> log "The following MNTR specs would be run under Incremental Test config..." - getIncrementalMNTRTests() |> Seq.iter log + getIncrementalMNTRTests |> Seq.iter log getAllMntrTestAssemblies() | _ -> log "All test projects will be run" getAllMntrTestAssemblies()