@@ -9,7 +9,8 @@ open Fake
99open Fake.DotNetCli
1010open Fake.DocFxHelper
1111
12- // Variables
12+ // Information about the project for Nuget and Assembly info files
13+ let product = " Akka.Persistence.MySql"
1314let configuration = " Release"
1415
1516// Metadata used when signing packages and DLLs
@@ -39,9 +40,10 @@ let versionSuffix =
3940 | str -> str
4041
4142// Directories
42- let output = __ SOURCE_ DIRECTORY__ @@ " build"
43- let outputTests = output @@ " tests"
44- let outputBinaries = output @@ " binaries"
43+ let toolsDir = __ SOURCE_ DIRECTORY__ @@ " tools"
44+ let output = __ SOURCE_ DIRECTORY__ @@ " bin"
45+ let outputTests = __ SOURCE_ DIRECTORY__ @@ " TestResults"
46+ let outputPerfTests = __ SOURCE_ DIRECTORY__ @@ " PerfResults"
4547let outputNuGet = output @@ " nuget"
4648
4749// Configuration values for tests
@@ -52,7 +54,7 @@ let testNetVersion = "net5.0"
5254Target " Clean" ( fun _ ->
5355 CleanDir output
5456 CleanDir outputTests
55- CleanDir outputBinaries
57+ CleanDir outputPerfTests
5658 CleanDir outputNuGet
5759
5860 CleanDirs !! " ./**/bin"
@@ -144,6 +146,28 @@ Target "RunTestsNetCore" (fun _ ->
144146 projects |> Seq.iter ( runSingleProject)
145147)
146148
149+ Target " NBench" <| fun _ ->
150+ let projects =
151+ match ( isWindows) with
152+ | true -> !! " ./src/**/*.Tests.Performance.csproj"
153+ | _ -> !! " ./src/**/*.Tests.Performance.csproj" // if you need to filter specs for Linux vs. Windows, do it here
154+
155+
156+ let runSingleProject project =
157+ let arguments =
158+ match ( hasTeamCity) with
159+ | true -> ( sprintf " nbench --nobuild --teamcity --concurrent true --trace true --output %s " ( outputPerfTests))
160+ | false -> ( sprintf " nbench --nobuild --concurrent true --trace true --output %s " ( outputPerfTests))
161+
162+ let result = ExecProcess( fun info ->
163+ info.FileName <- " dotnet"
164+ info.WorkingDirectory <- ( Directory.GetParent project) .FullName
165+ info.Arguments <- arguments) ( TimeSpan.FromMinutes 30.0 )
166+
167+ ResultHandling.failBuildIfXUnitReportedError TestRunnerErrorLevel.Error result
168+
169+ projects |> Seq.iter runSingleProject
170+
147171//--------------------------------------------------------------------------------
148172// Code signing targets
149173//--------------------------------------------------------------------------------
@@ -298,13 +322,14 @@ Target "RunTestsNetCoreFull" DoNothing
298322" Build" ==> " RunTestsNetCore"
299323
300324// nuget dependencies
301- " Clean" ==> " RestorePackages " ==> " Build" ==> " CreateNuget"
302- " CreateNuget" ==> " PublishNuget" ==> " Nuget"
325+ " Clean" ==> " Build" ==> " CreateNuget"
326+ " CreateNuget" ==> " SignPackages " ==> " PublishNuget" ==> " Nuget"
303327
304328// all
305329" BuildRelease" ==> " All"
306330" RunTests" ==> " All"
307331" RunTestsNetCore" ==> " All"
332+ " NBench" ==> " All"
308333" Nuget" ==> " All"
309334
310335RunTargetOrDefault " Help"
0 commit comments