6778b7086c
* Add Integration tests to CI (#19) * Add Instances base (#6) * Use Uri for checks in GetAccounts function (#8) * Add integration and perf tests to sln (#9) * Remove perf tests (#10) * remove perf tests * do all unit tests * Code coverage (#11) * code coverage * enable codecov for GA * Update README.md * Update coverage and dependencies (#12) * Update coverage and dependencies * fmt * add codecov config * merge DUI3/Alpha into sdk (#13) * merge DUI3/Alpha into sdk * formatting * Merge Objects dui3/alpha -> dev (#14) * merge DUI3/Alpha into sdk * formatting * Objects changes * Objects tests * Unit test project * add coverage exclusion * fix some tests and fix nullability errors * update codecov to be less intrusive (#15) * update codecov to be less intrusive * fix codecov yaml * add coverage exclusion * Merge sharp `dui3/alpha` -> sdk `main` (#16) * Merge * csharpier format * Fixed polysharp issues * Integration Tests * Fixes * add build for docker compose * add integration tests * remove extra services * update healthcheck for server --------- Co-authored-by: Oğuzhan Koral <45078678+oguzhankoral@users.noreply.github.com> Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com> * Don't run non-int tests during int tests. Reduce logging level --------- Co-authored-by: Oğuzhan Koral <45078678+oguzhankoral@users.noreply.github.com> Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com>
85 lines
2.1 KiB
C#
85 lines
2.1 KiB
C#
using GlobExpressions;
|
|
using static Bullseye.Targets;
|
|
using static SimpleExec.Command;
|
|
|
|
const string CLEAN = "clean";
|
|
const string FORMAT = "format";
|
|
const string RESTORE_TOOLS = "restore-tools";
|
|
|
|
const string RESTORE = "restore";
|
|
const string BUILD = "build";
|
|
const string TEST = "test";
|
|
const string INTEGRATION = "integration";
|
|
const string PACK = "pack";
|
|
|
|
Target(
|
|
CLEAN,
|
|
ForEach("**/output"),
|
|
dir =>
|
|
{
|
|
IEnumerable<string> GetDirectories(string d)
|
|
{
|
|
return Glob.Directories(".", d);
|
|
}
|
|
|
|
void RemoveDirectory(string d)
|
|
{
|
|
if (Directory.Exists(d))
|
|
{
|
|
Console.WriteLine(d);
|
|
Directory.Delete(d, true);
|
|
}
|
|
}
|
|
|
|
foreach (var d in GetDirectories(dir))
|
|
{
|
|
RemoveDirectory(d);
|
|
}
|
|
}
|
|
);
|
|
|
|
Target(RESTORE_TOOLS, () => RunAsync("dotnet", "tool restore"));
|
|
|
|
Target(FORMAT, DependsOn(RESTORE_TOOLS), () => RunAsync("dotnet", "csharpier --check ."));
|
|
|
|
Target(RESTORE, () => RunAsync("dotnet", "restore Speckle.Sdk.sln --locked-mode"));
|
|
|
|
Target(BUILD, DependsOn(RESTORE), () => RunAsync("dotnet", "build Speckle.Sdk.sln -c Release --no-restore"));
|
|
|
|
Target(
|
|
TEST,
|
|
DependsOn(BUILD),
|
|
Glob.Files(".", "**/*.Tests.Unit.csproj").Concat(Glob.Files(".", "**/*.Tests.csproj")),
|
|
async file =>
|
|
{
|
|
await RunAsync(
|
|
"dotnet",
|
|
$"test {file} -c Release --no-build --no-restore --verbosity=normal /p:AltCover=true /p:AltCoverAttributeFilter=ExcludeFromCodeCoverage"
|
|
);
|
|
}
|
|
);
|
|
|
|
Target(
|
|
INTEGRATION,
|
|
DependsOn(BUILD),
|
|
async () =>
|
|
{
|
|
await RunAsync("docker", "compose -f docker-compose.yml up --wait");
|
|
foreach (var test in Glob.Files(".", "**/*.Tests.Integration.csproj"))
|
|
{
|
|
await RunAsync(
|
|
"dotnet",
|
|
$"test {test} -c Release --no-build --no-restore --verbosity=normal /p:AltCover=true /p:AltCoverAttributeFilter=ExcludeFromCodeCoverage"
|
|
);
|
|
}
|
|
|
|
await RunAsync("docker", "compose down");
|
|
}
|
|
);
|
|
|
|
Target(PACK, DependsOn(TEST), () => RunAsync("dotnet", "pack Speckle.Sdk.sln -c Release -o output --no-build"));
|
|
|
|
Target("default", DependsOn(FORMAT, TEST, INTEGRATION), () => Console.WriteLine("Done!"));
|
|
|
|
await RunTargetsAndExitAsync(args).ConfigureAwait(true);
|