diff --git a/Build.ps1 b/Build.ps1 index 7989cd2..5741811 100644 --- a/Build.ps1 +++ b/Build.ps1 @@ -3,7 +3,7 @@ echo "build: Build started" Push-Location $PSScriptRoot if(Test-Path .\artifacts) { - echo "build: Cleaning .\artifacts" + Write-Output "build: Cleaning .\artifacts" Remove-Item .\artifacts -Force -Recurse } @@ -13,12 +13,12 @@ $suffix = @{ $true = ""; $false = "$($branch.Substring(0, [math]::Min(10,$branch $commitHash = $(git rev-parse --short HEAD) $buildSuffix = @{ $true = "$($suffix)-$($commitHash)"; $false = "$($branch)-$($commitHash)" }[$suffix -ne ""] -echo "build: Package version suffix is $suffix" -echo "build: Build version suffix is $buildSuffix" +Write-Output "build: Package version suffix is $suffix" +Write-Output "build: Build version suffix is $buildSuffix" & dotnet build --configuration Release --version-suffix=$buildSuffix /p:ContinuousIntegrationBuild=true -if($LASTEXITCODE -ne 0) { exit 1 } +if($LASTEXITCODE -ne 0) { throw 'build failed' } if($suffix) { & dotnet pack src\Serilog.Settings.Configuration --configuration Release --no-build --no-restore -o artifacts --version-suffix=$suffix @@ -26,10 +26,14 @@ if($suffix) { & dotnet pack src\Serilog.Settings.Configuration --configuration Release --no-build --no-restore -o artifacts } -if($LASTEXITCODE -ne 0) { exit 2 } +if($LASTEXITCODE -ne 0) { throw 'pack failed' } Write-Output "build: Testing" & dotnet test test\Serilog.Settings.Configuration.Tests --configuration Release --no-build --no-restore -if($LASTEXITCODE -ne 0) { exit 3 } \ No newline at end of file +if($LASTEXITCODE -ne 0) { throw 'unit tests failed' } + +& dotnet test test\Serilog.Settings.Configuration.ApprovalTests --configuration Release --no-build --no-restore + +if($LASTEXITCODE -ne 0) { throw 'approval tests failed' } diff --git a/serilog-settings-configuration.sln b/serilog-settings-configuration.sln index a0f41b6..94257c4 100644 --- a/serilog-settings-configuration.sln +++ b/serilog-settings-configuration.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29709.97 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.33516.290 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{4E41FD57-5FAB-4E3C-B16E-463DE98338BC}" EndProject @@ -13,11 +13,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "assets", "assets", "{62D0B9 Build.ps1 = Build.ps1 CHANGES.md = CHANGES.md Directory.Build.props = Directory.Build.props + global.json = global.json assets\icon.png = assets\icon.png LICENSE = LICENSE README.md = README.md serilog-settings-configuration.sln.DotSettings = serilog-settings-configuration.sln.DotSettings - global.json = global.json EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{D551DCB0-7771-4D01-BEBD-F7B57D1CF0E3}" @@ -32,6 +32,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sample", "sample\Sample\Sam EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestDummies", "test\TestDummies\TestDummies.csproj", "{B7CF5068-DD19-4868-A268-5280BDE90361}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Serilog.Settings.Configuration.ApprovalTests", "test\Serilog.Settings.Configuration.ApprovalTests\Serilog.Settings.Configuration.ApprovalTests.csproj", "{4AB826F2-925E-4A65-80B9-0097B05AA926}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -54,6 +56,10 @@ Global {B7CF5068-DD19-4868-A268-5280BDE90361}.Debug|Any CPU.Build.0 = Debug|Any CPU {B7CF5068-DD19-4868-A268-5280BDE90361}.Release|Any CPU.ActiveCfg = Release|Any CPU {B7CF5068-DD19-4868-A268-5280BDE90361}.Release|Any CPU.Build.0 = Release|Any CPU + {4AB826F2-925E-4A65-80B9-0097B05AA926}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4AB826F2-925E-4A65-80B9-0097B05AA926}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4AB826F2-925E-4A65-80B9-0097B05AA926}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4AB826F2-925E-4A65-80B9-0097B05AA926}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -63,6 +69,7 @@ Global {F793C6E8-C40A-4018-8884-C97E2BE38A54} = {D551DCB0-7771-4D01-BEBD-F7B57D1CF0E3} {A00E5E32-54F9-401A-BBA1-2F6FCB6366CD} = {D24872B9-57F3-42A7-BC8D-F9DA222FCE1B} {B7CF5068-DD19-4868-A268-5280BDE90361} = {D551DCB0-7771-4D01-BEBD-F7B57D1CF0E3} + {4AB826F2-925E-4A65-80B9-0097B05AA926} = {D551DCB0-7771-4D01-BEBD-F7B57D1CF0E3} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {485F8843-42D7-4267-B5FB-20FE9181DEE9} diff --git a/test/Serilog.Settings.Configuration.Tests/ApiApprovalTests.cs b/test/Serilog.Settings.Configuration.ApprovalTests/ApiApprovalTests.cs similarity index 53% rename from test/Serilog.Settings.Configuration.Tests/ApiApprovalTests.cs rename to test/Serilog.Settings.Configuration.ApprovalTests/ApiApprovalTests.cs index 08bf7f4..921f8fc 100644 --- a/test/Serilog.Settings.Configuration.Tests/ApiApprovalTests.cs +++ b/test/Serilog.Settings.Configuration.ApprovalTests/ApiApprovalTests.cs @@ -1,9 +1,7 @@ -#if NET7_0 - using PublicApiGenerator; +using Serilog.Settings.Configuration; using Shouldly; - -namespace Serilog.Settings.Configuration.Tests; +using Xunit; public class ApiApprovalTests { @@ -18,8 +16,11 @@ public void PublicApi_Should_Not_Change_Unintentionally() ExcludeAttributes = new[] { "System.Diagnostics.DebuggerDisplayAttribute" }, }); - publicApi.ShouldMatchApproved(options => options.WithFilenameGenerator((_, _, fileType, fileExtension) => $"{assembly.GetName().Name!}.{fileType}.{fileExtension}")); + publicApi.ShouldMatchApproved(options => + { + // Comment this line out to view the failure as a diff. Leave it here so that CI builds don't hang when this test fails. + options.NoDiff(); + options.WithFilenameGenerator((_, _, fileType, fileExtension) => $"{assembly.GetName().Name!}.{fileType}.{fileExtension}"); + }); } } - -#endif diff --git a/test/Serilog.Settings.Configuration.ApprovalTests/Serilog.Settings.Configuration.ApprovalTests.csproj b/test/Serilog.Settings.Configuration.ApprovalTests/Serilog.Settings.Configuration.ApprovalTests.csproj new file mode 100644 index 0000000..d403afc --- /dev/null +++ b/test/Serilog.Settings.Configuration.ApprovalTests/Serilog.Settings.Configuration.ApprovalTests.csproj @@ -0,0 +1,19 @@ + + + + net7.0 + + + + + + + + + + + + + + + diff --git a/test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.approved.txt b/test/Serilog.Settings.Configuration.ApprovalTests/Serilog.Settings.Configuration.approved.txt similarity index 100% rename from test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.approved.txt rename to test/Serilog.Settings.Configuration.ApprovalTests/Serilog.Settings.Configuration.approved.txt diff --git a/test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.Tests.csproj b/test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.Tests.csproj index 246d976..e83d1de 100644 --- a/test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.Tests.csproj +++ b/test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.Tests.csproj @@ -23,7 +23,6 @@ -