From 6a778e7695393644323d879977f3006906fc00be Mon Sep 17 00:00:00 2001 From: Yousif Ahmed Date: Thu, 12 May 2022 15:48:08 +0000 Subject: [PATCH 01/15] update cake build to use dotnet tool --- .config/dotnet-tools.json | 12 ++ build.cake | 39 ++++--- build.ps1 | 239 ++------------------------------------ 3 files changed, 42 insertions(+), 248 deletions(-) create mode 100644 .config/dotnet-tools.json diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json new file mode 100644 index 0000000..7bd5f9f --- /dev/null +++ b/.config/dotnet-tools.json @@ -0,0 +1,12 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "cake.tool": { + "version": "2.2.0", + "commands": [ + "dotnet-cake" + ] + } + } +} \ No newline at end of file diff --git a/build.cake b/build.cake index 2d3b824..f3041ea 100644 --- a/build.cake +++ b/build.cake @@ -1,6 +1,3 @@ -#tool "nuget:?package=xunit.runner.console" -#addin nuget:?package=Cake.SemVer -#addin nuget:?package=semver&version=2.0.4 var solution = File("./Bugsnag.sln"); var target = Argument("target", "Default"); @@ -28,21 +25,27 @@ Task("Build") .SetConfiguration(configuration)); }); -Task("Test") - .IsDependentOn("Build") - .Does(() => { - var testAssemblies = GetFiles($"{buildDir}/**/*.Tests.dll"); - XUnit2(testAssemblies, - new XUnit2Settings { - ArgumentCustomization = args => { - if (AppVeyor.IsRunningOnAppVeyor) - { - args.Append("-appveyor"); - } - return args; - } - }); - }); + Task("Test") + .IsDependentOn("Build") + .Does(() => { + var testAssemblies = GetFiles($"{buildDir}/**/*.Tests.dll"); + var settings = new DotNetTestSettings + { + Configuration = configuration, + ArgumentCustomization = args => { + if (AppVeyor.IsRunningOnAppVeyor) + { + args.Append("-appveyor"); + } + return args; + } + }; + + foreach(var file in testAssemblies) + { + DotNetTest(file.FullPath, "MSTest.MapInconclusiveToFailed=true", settings); + } +}); Task("Pack") .IsDependentOn("Test") diff --git a/build.ps1 b/build.ps1 index 265bd12..21821d2 100644 --- a/build.ps1 +++ b/build.ps1 @@ -1,234 +1,13 @@ -########################################################################## -# This is the Cake bootstrapper script for PowerShell. -# This file was downloaded from https://github.com/cake-build/resources -# Feel free to change this file to fit your needs. -########################################################################## +$ErrorActionPreference = 'Stop' -<# +Set-Location -LiteralPath $PSScriptRoot -.SYNOPSIS -This is a Powershell script to bootstrap a Cake build. +$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = '1' +$env:DOTNET_CLI_TELEMETRY_OPTOUT = '1' +$env:DOTNET_NOLOGO = '1' -.DESCRIPTION -This Powershell script will download NuGet if missing, restore NuGet tools (including Cake) -and execute your Cake build script with the parameters you provide. +dotnet tool restore +if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } -.PARAMETER Script -The build script to execute. -.PARAMETER Target -The build script target to run. -.PARAMETER Configuration -The build configuration to use. -.PARAMETER Verbosity -Specifies the amount of information to be displayed. -.PARAMETER ShowDescription -Shows description about tasks. -.PARAMETER DryRun -Performs a dry run. -.PARAMETER Experimental -Uses the nightly builds of the Roslyn script engine. -.PARAMETER Mono -Uses the Mono Compiler rather than the Roslyn script engine. -.PARAMETER SkipToolPackageRestore -Skips restoring of packages. -.PARAMETER ScriptArgs -Remaining arguments are added here. - -.LINK -https://cakebuild.net - -#> - -[CmdletBinding()] -Param( - [string]$Script = "build.cake", - [string]$Target, - [string]$Configuration, - [ValidateSet("Quiet", "Minimal", "Normal", "Verbose", "Diagnostic")] - [string]$Verbosity, - [switch]$ShowDescription, - [Alias("WhatIf", "Noop")] - [switch]$DryRun, - [switch]$Experimental, - [switch]$Mono, - [switch]$SkipToolPackageRestore, - [Parameter(Position=0,Mandatory=$false,ValueFromRemainingArguments=$true)] - [string[]]$ScriptArgs -) - -[Reflection.Assembly]::LoadWithPartialName("System.Security") | Out-Null -function MD5HashFile([string] $filePath) -{ - if ([string]::IsNullOrEmpty($filePath) -or !(Test-Path $filePath -PathType Leaf)) - { - return $null - } - - [System.IO.Stream] $file = $null; - [System.Security.Cryptography.MD5] $md5 = $null; - try - { - $md5 = [System.Security.Cryptography.MD5]::Create() - $file = [System.IO.File]::OpenRead($filePath) - return [System.BitConverter]::ToString($md5.ComputeHash($file)) - } - finally - { - if ($file -ne $null) - { - $file.Dispose() - } - } -} - -function GetProxyEnabledWebClient -{ - $wc = New-Object System.Net.WebClient - $proxy = [System.Net.WebRequest]::GetSystemWebProxy() - $proxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials - $wc.Proxy = $proxy - return $wc -} - -Write-Host "Preparing to run build script..." - -if(!$PSScriptRoot){ - $PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent -} - -$TOOLS_DIR = Join-Path $PSScriptRoot "tools" -$ADDINS_DIR = Join-Path $TOOLS_DIR "Addins" -$MODULES_DIR = Join-Path $TOOLS_DIR "Modules" -$NUGET_EXE = Join-Path $TOOLS_DIR "nuget.exe" -$CAKE_EXE = Join-Path $TOOLS_DIR "Cake/Cake.exe" -$NUGET_URL = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe" -$PACKAGES_CONFIG = Join-Path $TOOLS_DIR "packages.config" -$PACKAGES_CONFIG_MD5 = Join-Path $TOOLS_DIR "packages.config.md5sum" -$ADDINS_PACKAGES_CONFIG = Join-Path $ADDINS_DIR "packages.config" -$MODULES_PACKAGES_CONFIG = Join-Path $MODULES_DIR "packages.config" - -# Make sure tools folder exists -if ((Test-Path $PSScriptRoot) -and !(Test-Path $TOOLS_DIR)) { - Write-Verbose -Message "Creating tools directory..." - New-Item -Path $TOOLS_DIR -Type directory | out-null -} - -# Make sure that packages.config exist. -if (!(Test-Path $PACKAGES_CONFIG)) { - Write-Verbose -Message "Downloading packages.config..." - try { - $wc = GetProxyEnabledWebClient - $wc.DownloadFile("https://cakebuild.net/download/bootstrapper/packages", $PACKAGES_CONFIG) } catch { - Throw "Could not download packages.config." - } -} - -# Try find NuGet.exe in path if not exists -if (!(Test-Path $NUGET_EXE)) { - Write-Verbose -Message "Trying to find nuget.exe in PATH..." - $existingPaths = $Env:Path -Split ';' | Where-Object { (![string]::IsNullOrEmpty($_)) -and (Test-Path $_ -PathType Container) } - $NUGET_EXE_IN_PATH = Get-ChildItem -Path $existingPaths -Filter "nuget.exe" | Select -First 1 - if ($NUGET_EXE_IN_PATH -ne $null -and (Test-Path $NUGET_EXE_IN_PATH.FullName)) { - Write-Verbose -Message "Found in PATH at $($NUGET_EXE_IN_PATH.FullName)." - $NUGET_EXE = $NUGET_EXE_IN_PATH.FullName - } -} - -# Try download NuGet.exe if not exists -if (!(Test-Path $NUGET_EXE)) { - Write-Verbose -Message "Downloading NuGet.exe..." - try { - $wc = GetProxyEnabledWebClient - $wc.DownloadFile($NUGET_URL, $NUGET_EXE) - } catch { - Throw "Could not download NuGet.exe." - } -} - -# Save nuget.exe path to environment to be available to child processed -$ENV:NUGET_EXE = $NUGET_EXE - -# Restore tools from NuGet? -if(-Not $SkipToolPackageRestore.IsPresent) { - Push-Location - Set-Location $TOOLS_DIR - - # Check for changes in packages.config and remove installed tools if true. - [string] $md5Hash = MD5HashFile($PACKAGES_CONFIG) - if((!(Test-Path $PACKAGES_CONFIG_MD5)) -Or - ($md5Hash -ne (Get-Content $PACKAGES_CONFIG_MD5 ))) { - Write-Verbose -Message "Missing or changed package.config hash..." - Remove-Item * -Recurse -Exclude packages.config,nuget.exe - } - - Write-Verbose -Message "Restoring tools from NuGet..." - $NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$TOOLS_DIR`"" - - if ($LASTEXITCODE -ne 0) { - Throw "An error occured while restoring NuGet tools." - } - else - { - $md5Hash | Out-File $PACKAGES_CONFIG_MD5 -Encoding "ASCII" - } - Write-Verbose -Message ($NuGetOutput | out-string) - - Pop-Location -} - -# Restore addins from NuGet -if (Test-Path $ADDINS_PACKAGES_CONFIG) { - Push-Location - Set-Location $ADDINS_DIR - - Write-Verbose -Message "Restoring addins from NuGet..." - $NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$ADDINS_DIR`"" - - if ($LASTEXITCODE -ne 0) { - Throw "An error occured while restoring NuGet addins." - } - - Write-Verbose -Message ($NuGetOutput | out-string) - - Pop-Location -} - -# Restore modules from NuGet -if (Test-Path $MODULES_PACKAGES_CONFIG) { - Push-Location - Set-Location $MODULES_DIR - - Write-Verbose -Message "Restoring modules from NuGet..." - $NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$MODULES_DIR`"" - - if ($LASTEXITCODE -ne 0) { - Throw "An error occured while restoring NuGet modules." - } - - Write-Verbose -Message ($NuGetOutput | out-string) - - Pop-Location -} - -# Make sure that Cake has been installed. -if (!(Test-Path $CAKE_EXE)) { - Throw "Could not find Cake.exe at $CAKE_EXE" -} - - - -# Build Cake arguments -$cakeArguments = @("$Script"); -if ($Target) { $cakeArguments += "-target=$Target" } -if ($Configuration) { $cakeArguments += "-configuration=$Configuration" } -if ($Verbosity) { $cakeArguments += "-verbosity=$Verbosity" } -if ($ShowDescription) { $cakeArguments += "-showdescription" } -if ($DryRun) { $cakeArguments += "-dryrun" } -if ($Experimental) { $cakeArguments += "-experimental" } -if ($Mono) { $cakeArguments += "-mono" } -$cakeArguments += $ScriptArgs - -# Start Cake -Write-Host "Running build script..." -&$CAKE_EXE $cakeArguments -exit $LASTEXITCODE +dotnet cake @args +if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } From 5cb72f2c0218b2d202683c7450c7235820c37d82 Mon Sep 17 00:00:00 2001 From: Yousif Ahmed Date: Thu, 12 May 2022 15:49:14 +0000 Subject: [PATCH 02/15] run unit tests against dotnet core 3.1 and dotnet 5 --- .../Bugsnag.AspNet.Core.Tests.csproj | 9 +++++---- tests/Bugsnag.AspNet.Tests/Bugsnag.AspNet.Tests.csproj | 6 +++--- .../Bugsnag.ConfigurationSection.Tests.csproj | 6 +++--- tests/Bugsnag.Tests.Server/Bugsnag.Tests.Server.csproj | 2 +- tests/Bugsnag.Tests/Bugsnag.Tests.csproj | 7 ++++--- 5 files changed, 16 insertions(+), 14 deletions(-) diff --git a/tests/Bugsnag.AspNet.Core.Tests/Bugsnag.AspNet.Core.Tests.csproj b/tests/Bugsnag.AspNet.Core.Tests/Bugsnag.AspNet.Core.Tests.csproj index 37a4b7a..d489ecd 100644 --- a/tests/Bugsnag.AspNet.Core.Tests/Bugsnag.AspNet.Core.Tests.csproj +++ b/tests/Bugsnag.AspNet.Core.Tests/Bugsnag.AspNet.Core.Tests.csproj @@ -1,18 +1,19 @@ - net461 + net461;netcoreapp2.1;netcoreapp3.1;net5.0 win10-x64 false true 7.1 + false - - - + + + diff --git a/tests/Bugsnag.AspNet.Tests/Bugsnag.AspNet.Tests.csproj b/tests/Bugsnag.AspNet.Tests/Bugsnag.AspNet.Tests.csproj index 7c1b1f0..ecfe72a 100644 --- a/tests/Bugsnag.AspNet.Tests/Bugsnag.AspNet.Tests.csproj +++ b/tests/Bugsnag.AspNet.Tests/Bugsnag.AspNet.Tests.csproj @@ -11,9 +11,9 @@ - - - + + + diff --git a/tests/Bugsnag.ConfigurationSection.Tests/Bugsnag.ConfigurationSection.Tests.csproj b/tests/Bugsnag.ConfigurationSection.Tests/Bugsnag.ConfigurationSection.Tests.csproj index b6ac920..4891e6a 100644 --- a/tests/Bugsnag.ConfigurationSection.Tests/Bugsnag.ConfigurationSection.Tests.csproj +++ b/tests/Bugsnag.ConfigurationSection.Tests/Bugsnag.ConfigurationSection.Tests.csproj @@ -11,9 +11,9 @@ - - - + + + diff --git a/tests/Bugsnag.Tests.Server/Bugsnag.Tests.Server.csproj b/tests/Bugsnag.Tests.Server/Bugsnag.Tests.Server.csproj index 45895c3..6149a17 100644 --- a/tests/Bugsnag.Tests.Server/Bugsnag.Tests.Server.csproj +++ b/tests/Bugsnag.Tests.Server/Bugsnag.Tests.Server.csproj @@ -1,6 +1,6 @@ - net461 + netstandard2.0 win10-x64 false true diff --git a/tests/Bugsnag.Tests/Bugsnag.Tests.csproj b/tests/Bugsnag.Tests/Bugsnag.Tests.csproj index e9d3a23..6b4f742 100644 --- a/tests/Bugsnag.Tests/Bugsnag.Tests.csproj +++ b/tests/Bugsnag.Tests/Bugsnag.Tests.csproj @@ -6,11 +6,12 @@ true 7.1 + false - - - + + + From 545ee9bd86055dc5a5245dfd670df5975cca898d Mon Sep 17 00:00:00 2001 From: Yousif Ahmed Date: Thu, 12 May 2022 15:49:42 +0000 Subject: [PATCH 03/15] bump appveyor image to VS2019 --- appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index a08d1c3..d4f2439 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,8 +1,8 @@ -image: Visual Studio 2017 +image: Visual Studio 2019 install: - set PATH=C:\Ruby25-x64\bin;%PATH% build_script: - - ps: .\build.ps1 -Target Appveyor + - ps: .\build.ps1 --target Appveyor after_build: - ps: 7z a build\bugsnag.zip build\Release\**\Bugsnag*.dll build\Release\**\Bugsnag*.pdb test: off From b0026c6d9e6b400342c21867f50a96096812589d Mon Sep 17 00:00:00 2001 From: Yousif Ahmed Date: Wed, 18 May 2022 09:05:33 +0000 Subject: [PATCH 04/15] run main test project against dotnet core 3.1 and 5 --- tests/Bugsnag.Tests/Bugsnag.Tests.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/Bugsnag.Tests/Bugsnag.Tests.csproj b/tests/Bugsnag.Tests/Bugsnag.Tests.csproj index 6b4f742..f1ae654 100644 --- a/tests/Bugsnag.Tests/Bugsnag.Tests.csproj +++ b/tests/Bugsnag.Tests/Bugsnag.Tests.csproj @@ -1,6 +1,6 @@ - net461 + net461;netcoreapp2.1;netcoreapp3.1;net5.0 win10-x64 false true @@ -11,7 +11,7 @@ - + From ac3eae8a207866aa1744faea2afae4063d1b4c11 Mon Sep 17 00:00:00 2001 From: Yousif Ahmed Date: Wed, 18 May 2022 14:56:45 +0100 Subject: [PATCH 05/15] Fix unthrown exception stacktraces in dotnet core --- src/Bugsnag/Payload/StackTraceLine.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Bugsnag/Payload/StackTraceLine.cs b/src/Bugsnag/Payload/StackTraceLine.cs index 486b6b9..f5e3a34 100644 --- a/src/Bugsnag/Payload/StackTraceLine.cs +++ b/src/Bugsnag/Payload/StackTraceLine.cs @@ -28,7 +28,7 @@ public IEnumerator GetEnumerator() var stackFrames = new System.Diagnostics.StackTrace(_originalException, true).GetFrames(); #if !NETSTANDARD1_3 - if (stackFrames == null) + if (stackFrames == null || stackFrames.Length == 0) { // this usually means that the exception has not been thrown so we need // to try and create a stack trace at the point that the notify call From ecb52fee0228c54840ea835dacf5c3c40b323542 Mon Sep 17 00:00:00 2001 From: Yousif Ahmed Date: Wed, 18 May 2022 15:56:20 +0100 Subject: [PATCH 06/15] add dotnet 6 target and bump test references --- .../Bugsnag.AspNet.Core.Tests.csproj | 2 +- .../Bugsnag.AspNet.WebApi.Tests.csproj | 6 +++--- tests/Bugsnag.Tests/Bugsnag.Tests.csproj | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/Bugsnag.AspNet.Core.Tests/Bugsnag.AspNet.Core.Tests.csproj b/tests/Bugsnag.AspNet.Core.Tests/Bugsnag.AspNet.Core.Tests.csproj index d489ecd..d4ec9ac 100644 --- a/tests/Bugsnag.AspNet.Core.Tests/Bugsnag.AspNet.Core.Tests.csproj +++ b/tests/Bugsnag.AspNet.Core.Tests/Bugsnag.AspNet.Core.Tests.csproj @@ -1,6 +1,6 @@ - net461;netcoreapp2.1;netcoreapp3.1;net5.0 + net461;netcoreapp2.1;netcoreapp3.1;net5.0;net6.0 win10-x64 false true diff --git a/tests/Bugsnag.AspNet.WebApi.Tests/Bugsnag.AspNet.WebApi.Tests.csproj b/tests/Bugsnag.AspNet.WebApi.Tests/Bugsnag.AspNet.WebApi.Tests.csproj index 2caa5af..02b7b5c 100644 --- a/tests/Bugsnag.AspNet.WebApi.Tests/Bugsnag.AspNet.WebApi.Tests.csproj +++ b/tests/Bugsnag.AspNet.WebApi.Tests/Bugsnag.AspNet.WebApi.Tests.csproj @@ -9,9 +9,9 @@ - - - + + + diff --git a/tests/Bugsnag.Tests/Bugsnag.Tests.csproj b/tests/Bugsnag.Tests/Bugsnag.Tests.csproj index f1ae654..4199252 100644 --- a/tests/Bugsnag.Tests/Bugsnag.Tests.csproj +++ b/tests/Bugsnag.Tests/Bugsnag.Tests.csproj @@ -1,6 +1,6 @@ - net461;netcoreapp2.1;netcoreapp3.1;net5.0 + net461;netcoreapp2.1;netcoreapp3.1;net5.0;net6.0 win10-x64 false true @@ -11,7 +11,7 @@ - + From 610c88808039021dbd9530a1e10e77dd15757534 Mon Sep 17 00:00:00 2001 From: Yousif Ahmed Date: Wed, 18 May 2022 15:57:58 +0100 Subject: [PATCH 07/15] Add image and fix nuget deprecation warnings --- .assets/bugsnag.png | Bin 0 -> 3939 bytes src/Directory.build.props | 7 +++++-- 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 .assets/bugsnag.png diff --git a/.assets/bugsnag.png b/.assets/bugsnag.png new file mode 100644 index 0000000000000000000000000000000000000000..66a07153dcf6a92234f7284819eef9a4246f19ff GIT binary patch literal 3939 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 © 2018 Bugsnag Inc. bugsnag crash exception-handling exception-reporting exception-handler error-monitoring error-reporting error-handling unhandled-exceptions debug exceptions error errors bug bugs crash-reporting crash-reporting-tool error-log diagnostic - https://raw.githubusercontent.com/bugsnag/bugsnag-dotnet/master/LICENSE.txt + MIT https://github.com/bugsnag/bugsnag-dotnet - https://s3.amazonaws.com/bugsnag.com/images/square-logo-small.png + bugsnag.png true true 7.1 @@ -15,4 +15,7 @@ $(MSBuildStartupDirectory)\Bugsnag.snk true + + + From 7b09ad734cd44fa424c9b5ba49feee5b2a73c716 Mon Sep 17 00:00:00 2001 From: Yousif Ahmed Date: Wed, 18 May 2022 15:58:09 +0100 Subject: [PATCH 08/15] Fix formatting --- build.cake | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/build.cake b/build.cake index f3041ea..5fd6abe 100644 --- a/build.cake +++ b/build.cake @@ -28,24 +28,24 @@ Task("Build") Task("Test") .IsDependentOn("Build") .Does(() => { - var testAssemblies = GetFiles($"{buildDir}/**/*.Tests.dll"); - var settings = new DotNetTestSettings - { - Configuration = configuration, - ArgumentCustomization = args => { - if (AppVeyor.IsRunningOnAppVeyor) - { - args.Append("-appveyor"); - } - return args; - } - }; + var testAssemblies = GetFiles($"{buildDir}/**/*.Tests.dll"); + var settings = new DotNetTestSettings + { + Configuration = configuration, + ArgumentCustomization = args => { + if (AppVeyor.IsRunningOnAppVeyor) + { + args.Append("-appveyor"); + } + return args; + } + }; - foreach(var file in testAssemblies) - { - DotNetTest(file.FullPath, "MSTest.MapInconclusiveToFailed=true", settings); - } -}); + foreach(var file in testAssemblies) + { + DotNetTest(file.FullPath, "MSTest.MapInconclusiveToFailed=true", settings); + } + }); Task("Pack") .IsDependentOn("Test") From 031e008238937dfefd93b4160288918b211df9d8 Mon Sep 17 00:00:00 2001 From: Yousif Ahmed Date: Wed, 18 May 2022 16:04:04 +0100 Subject: [PATCH 09/15] Remove netcoreapp2.1 target --- .../Bugsnag.AspNet.Core.Tests/Bugsnag.AspNet.Core.Tests.csproj | 2 +- tests/Bugsnag.Tests/Bugsnag.Tests.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/Bugsnag.AspNet.Core.Tests/Bugsnag.AspNet.Core.Tests.csproj b/tests/Bugsnag.AspNet.Core.Tests/Bugsnag.AspNet.Core.Tests.csproj index d4ec9ac..780c1ae 100644 --- a/tests/Bugsnag.AspNet.Core.Tests/Bugsnag.AspNet.Core.Tests.csproj +++ b/tests/Bugsnag.AspNet.Core.Tests/Bugsnag.AspNet.Core.Tests.csproj @@ -1,6 +1,6 @@ - net461;netcoreapp2.1;netcoreapp3.1;net5.0;net6.0 + net461;netcoreapp3.1;net5.0;net6.0 win10-x64 false true diff --git a/tests/Bugsnag.Tests/Bugsnag.Tests.csproj b/tests/Bugsnag.Tests/Bugsnag.Tests.csproj index 4199252..abdbd97 100644 --- a/tests/Bugsnag.Tests/Bugsnag.Tests.csproj +++ b/tests/Bugsnag.Tests/Bugsnag.Tests.csproj @@ -1,6 +1,6 @@ - net461;netcoreapp2.1;netcoreapp3.1;net5.0;net6.0 + net461;netcoreapp3.1;net5.0;net6.0 win10-x64 false true From 24515422b647f65fb543f5be155153947fd610ca Mon Sep 17 00:00:00 2001 From: Yousif Ahmed Date: Wed, 18 May 2022 16:06:07 +0100 Subject: [PATCH 10/15] Update appveyor image for dotnet 6 --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index d4f2439..de05e29 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -image: Visual Studio 2019 +image: Visual Studio 2022 install: - set PATH=C:\Ruby25-x64\bin;%PATH% build_script: From 3e2426804eff4931a1c3478b317e0afd12ca55b4 Mon Sep 17 00:00:00 2001 From: Yousif Ahmed Date: Mon, 23 May 2022 10:20:40 +0100 Subject: [PATCH 11/15] continue the build on warnings --- build.ps1 | 2 -- 1 file changed, 2 deletions(-) diff --git a/build.ps1 b/build.ps1 index 21821d2..23b231c 100644 --- a/build.ps1 +++ b/build.ps1 @@ -1,5 +1,3 @@ -$ErrorActionPreference = 'Stop' - Set-Location -LiteralPath $PSScriptRoot $env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = '1' From 93260cde3ba5b9461cff2baceb5169c5582fd353 Mon Sep 17 00:00:00 2001 From: Yousif Ahmed Date: Mon, 23 May 2022 13:10:06 +0100 Subject: [PATCH 12/15] Do not clear global nuget caches for mazerunner tests --- features/steps/website_steps.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/features/steps/website_steps.rb b/features/steps/website_steps.rb index 5277239..86488fc 100644 --- a/features/steps/website_steps.rb +++ b/features/steps/website_steps.rb @@ -7,8 +7,8 @@ When("I run the console app {string} with {string}") do |name, args| path = File.join(Dir.pwd, "features", "fixtures", name) nuget_package_path = File.join(Dir.pwd, "build", "packages") - run_command("dotnet nuget locals all --clear") - run_command("dotnet add #{path} package -v #{ENV['BUGSNAG_VERSION']} bugsnag") + run_command("dotnet add #{path} package bugsnag --version #{ENV['BUGSNAG_VERSION']} --no-restore") + run_command("dotnet restore --source #{nuget_package_path} --no-cache") run_command(@script_env || {}, "dotnet run -p #{path} -- #{args}") end From 422db32c1a78dc0045d5b42387d802b5eccaae70 Mon Sep 17 00:00:00 2001 From: Yousif Ahmed Date: Mon, 23 May 2022 15:07:10 +0100 Subject: [PATCH 13/15] only restore mazerunner project and enable verbose logging --- build.cake | 2 +- features/steps/website_steps.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.cake b/build.cake index 5fd6abe..2b55c07 100644 --- a/build.cake +++ b/build.cake @@ -92,7 +92,7 @@ Task("MazeRunner") .IsDependentOn("Pack") .Does(() => { StartProcess("cmd", "/c bundle install"); - var mazeRunner = StartProcess("cmd", $"/c \"set BUGSNAG_VERSION={version} && bundle exec bugsnag-maze-runner\""); + var mazeRunner = StartProcess("cmd", $"/c \"set BUGSNAG_VERSION={version} && bundle exec bugsnag-maze-runner --verbose\""); if (mazeRunner != 0) { throw new Exception("maze-runner failed"); } diff --git a/features/steps/website_steps.rb b/features/steps/website_steps.rb index 86488fc..661fe35 100644 --- a/features/steps/website_steps.rb +++ b/features/steps/website_steps.rb @@ -8,7 +8,7 @@ path = File.join(Dir.pwd, "features", "fixtures", name) nuget_package_path = File.join(Dir.pwd, "build", "packages") run_command("dotnet add #{path} package bugsnag --version #{ENV['BUGSNAG_VERSION']} --no-restore") - run_command("dotnet restore --source #{nuget_package_path} --no-cache") + run_command("dotnet restore #{path} --source #{nuget_package_path} --no-cache") run_command(@script_env || {}, "dotnet run -p #{path} -- #{args}") end From df8f4b8042868f405240c720192bfe1d27a0086b Mon Sep 17 00:00:00 2001 From: Yousif Ahmed Date: Mon, 23 May 2022 15:44:17 +0100 Subject: [PATCH 14/15] Remove legacy tools directory --- tools/packages.config | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 tools/packages.config diff --git a/tools/packages.config b/tools/packages.config deleted file mode 100644 index e52a2c7..0000000 --- a/tools/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - From 20f06cf4001c63ff25dba4d49ef5ba44b0a4eded Mon Sep 17 00:00:00 2001 From: Yousif Ahmed Date: Wed, 15 Jun 2022 13:27:07 +0000 Subject: [PATCH 15/15] Update changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 229fc0c..cbc5185 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ Changelog ========= +## 3.1.0 (2022-06-15) + +### Enhancements + +The `Bugsnag` and `Bugsnag.AspNet.Core` packages now officially support .NET Core 3.x, .NET 5 and .NET 6. + ## 3.0.1 (2022-03-24) ### Bug fixes