From 0aaf2f2e891d1a53657379e8208d2f7563acbd76 Mon Sep 17 00:00:00 2001 From: Michael Pavlovsky Date: Sat, 13 Apr 2019 16:38:17 -0400 Subject: [PATCH] Set up CI with Azure Pipelines --- .gitignore | 7 ++++--- azure-pipelines.yml | 31 +++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 azure-pipelines.yml diff --git a/.gitignore b/.gitignore index a02a88d7..418c53aa 100644 --- a/.gitignore +++ b/.gitignore @@ -3,8 +3,9 @@ ################################################################################ obj/ /.vs/OpenMcdf/v14 +# all bin directories anywhere in the repo bin/ -/TestResults +TestResults/ /sources/Test/OpenMcdf.Test/bin/Debug /sources/Test/OpenMcdf.PerfTest/obj/Debug /sources/Test/OpenMcdf.PerfTest/bin/Debug @@ -27,7 +28,7 @@ bin/ /Memory Test/bin/Debug /bin/Release/StructuredStorageXplorer /bin/Release/OpenMcdf.Extensions -/bin/Release/ +/bin/Release /sources/Html Help/Help /.vs # User-specific files @@ -38,4 +39,4 @@ bin/ # ReSharper is a .NET coding add-in _ReSharper*/ *.[Rr]e[Ss]harper -*.DotSettings.user \ No newline at end of file +*.DotSettings.user diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 00000000..5710a54e --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,31 @@ +# ASP.NET Core +# Build and test ASP.NET Core projects targeting .NET Core. +# Add steps that run tests, create a NuGet package, deploy, and more: +# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core + +trigger: +- master + +pool: + vmImage: 'Ubuntu-16.04' + +variables: + buildConfiguration: 'Release' + libFramework: 'netstandard2.0' + appFramework: 'netcoreapp2.0' + # pay attention to slashes + testsProject: 'sources/Test/OpenMcdf.Test/OpenMcdf.Test.csproj' + buildProject: 'sources/OpenMcdf/OpenMcdf.csproj' + # without filter it will timoeout in azure AFTER 60+ min + testFilter: 'Name!=Test_FIX_BUG_GH_14&Name!=Test_FIX_BUG_GH_15' + +steps: +- script: dotnet build --configuration $(buildConfiguration) -f $(libFramework) $(buildProject) + displayName: 'dotnet build $(buildConfiguration)' + +- script: dotnet test -f $(appFramework) $(testsProject) --filter="$(testFilter)" --logger trx +- task: PublishTestResults@2 + condition: succeededOrFailed() + inputs: + testRunner: VSTest + testResultsFiles: '**/*.trx'