From b2fc2c13c0281114a4cbf6f8fe516f85e58516ba Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Sat, 31 Oct 2020 12:53:54 +0000 Subject: [PATCH] Update dependencies from https://github.com/dotnet/arcade build 20201029.1 (#8991) [master] Update dependencies from dotnet/arcade - Coherency Updates: - Microsoft.SourceLink.GitHub: from 1.1.0-beta-20526-01 to 1.1.0-beta-20527-05 (parent: Microsoft.DotNet.Arcade.Sdk) - XliffTasks: from 1.0.0-beta.20520.1 to 1.0.0-beta.20528.1 (parent: Microsoft.DotNet.Arcade.Sdk) --- eng/Version.Details.xml | 16 ++--- eng/Versions.props | 2 +- eng/common/post-build/symbols-validation.ps1 | 76 +++++++++++++------- global.json | 2 +- 4 files changed, 62 insertions(+), 34 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index d25e541ff..bc369c895 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -140,25 +140,25 @@ - + https://github.com/dotnet/arcade - 51f14c7da74e5c3d2ce0bab077461da399333896 + 19e7e769f7ca2ece42221f7ff951e7ec705498ec - + https://github.com/dotnet/arcade - 51f14c7da74e5c3d2ce0bab077461da399333896 + 19e7e769f7ca2ece42221f7ff951e7ec705498ec https://github.com/dotnet/source-build-reference-packages 639aeb4d76c8b1a6226bf7c4edb34fbdae30e6e1 - + https://github.com/dotnet/sourcelink - 67c1d9bced36779dbe8c11cf2d5afd13e7b06785 + 2909054971c449957ac9c9b1621246b012b42b2b - + https://github.com/dotnet/xliff-tasks - 3d4f8ba0950b6284c1ec3ad674eade92916f9796 + c083dafc24335230e0a7c7f6dfc76ca31ab192e0 diff --git a/eng/Versions.props b/eng/Versions.props index eceb56500..ee236f44d 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -20,7 +20,7 @@ - 6.0.0-beta.20527.10 + 6.0.0-beta.20529.1 diff --git a/eng/common/post-build/symbols-validation.ps1 b/eng/common/post-build/symbols-validation.ps1 index fcc6019b4..99bf28cd5 100644 --- a/eng/common/post-build/symbols-validation.ps1 +++ b/eng/common/post-build/symbols-validation.ps1 @@ -9,9 +9,16 @@ param( # Maximum number of jobs to run in parallel $MaxParallelJobs = 6 +# Max number of retries +$MaxRetry = 5 + # Wait time between check for system load $SecondsBetweenLoadChecks = 10 +# Set error codes +Set-Variable -Name "ERROR_BADEXTRACT" -Option Constant -Value -1 +Set-Variable -Name "ERROR_FILEDOESNOTEXIST" -Option Constant -Value -2 + $CountMissingSymbols = { param( [string] $PackagePath # Path to a NuGet package @@ -21,10 +28,15 @@ $CountMissingSymbols = { Add-Type -AssemblyName System.IO.Compression.FileSystem + Write-Host "Validating $PackagePath " + # Ensure input file exist if (!(Test-Path $PackagePath)) { Write-PipelineTaskError "Input file does not exist: $PackagePath" - return -2 + return [pscustomobject]@{ + result = $using:ERROR_FILEDOESNOTEXIST + packagePath = $PackagePath + } } # Extensions for which we'll look for symbols @@ -45,7 +57,7 @@ $CountMissingSymbols = { Write-Host "Something went wrong extracting $PackagePath" Write-Host $_ return [pscustomobject]@{ - result = -1 + result = $using:ERROR_BADEXTRACT packagePath = $PackagePath } } @@ -91,26 +103,37 @@ $CountMissingSymbols = { $dotnetSymbolExe = "$env:USERPROFILE\.dotnet\tools" $dotnetSymbolExe = Resolve-Path "$dotnetSymbolExe\dotnet-symbol.exe" - & $dotnetSymbolExe --symbols --modules --windows-pdbs $TargetServerParam $FullPath -o $SymbolsPath | Out-Null + $totalRetries = 0 - if (Test-Path $PdbPath) { - return 'PDB' - } - elseif (Test-Path $NGenPdb) { - return 'NGen PDB' - } - elseif (Test-Path $SODbg) { - return 'DBG for SO' - } - elseif (Test-Path $DylibDwarf) { - return 'Dwarf for Dylib' - } - elseif (Test-Path $SymbolPath) { - return 'Module' - } - else { - return $null + while ($totalRetries -lt $using:MaxRetry) { + # Save the output and get diagnostic output + $output = & $dotnetSymbolExe --symbols --modules --windows-pdbs $TargetServerParam $FullPath -o $SymbolsPath --diagnostics | Out-String + + if (Test-Path $PdbPath) { + return 'PDB' + } + elseif (Test-Path $NGenPdb) { + return 'NGen PDB' + } + elseif (Test-Path $SODbg) { + return 'DBG for SO' + } + elseif (Test-Path $DylibDwarf) { + return 'Dwarf for Dylib' + } + elseif (Test-Path $SymbolPath) { + return 'Module' + } + elseif ($output.Contains("503 Service Unavailable")) { + # If we got a 503 error, we should retry. + $totalRetries++ + } + else { + return $null + } } + + return $null } $SymbolsOnMSDL = & $FirstMatchingSymbolDescriptionOrDefault $FileName '--microsoft-symbol-server' $SymbolsPath @@ -155,14 +178,21 @@ function CheckJobResult( $packagePath, [ref]$DupedSymbols, [ref]$TotalFailures) { - if ($result -eq '-1') { + if ($result -eq $ERROR_BADEXTRACT) { Write-PipelineTelemetryError -Category 'CheckSymbols' -Message "$packagePath has duplicated symbol files" $DupedSymbols.Value++ } - elseif ($jobResult.result -ne '0') { + elseif ($result -eq $ERROR_FILEDOESNOTEXIST) { + Write-PipelineTelemetryError -Category 'CheckSymbols' -Message "$packagePath does not exist" + $TotalFailures.Value++ + } + elseif ($result -gt '0') { Write-PipelineTelemetryError -Category 'CheckSymbols' -Message "Missing symbols for $result modules in the package $packagePath" $TotalFailures.Value++ } + else { + Write-Host "All symbols verified for package $packagePath" + } } function CheckSymbolsAvailable { @@ -192,8 +222,6 @@ function CheckSymbolsAvailable { return } - Write-Host "Validating $FileName " - Start-Job -ScriptBlock $CountMissingSymbols -ArgumentList $FullName | Out-Null $NumJobs = @(Get-Job -State 'Running').Count diff --git a/global.json b/global.json index a8638add6..3949ca6e6 100644 --- a/global.json +++ b/global.json @@ -8,6 +8,6 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.20527.10" + "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.20529.1" } }