diff options
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/azure-pipelines/analyze-test-results.ps1 | 374 | ||||
| -rwxr-xr-x | scripts/azure-pipelines/generate-skip-list.ps1 | 11 | ||||
| -rw-r--r-- | scripts/azure-pipelines/linux/azure-pipelines.yml | 8 | ||||
| -rw-r--r-- | scripts/azure-pipelines/osx/azure-pipelines.yml | 8 | ||||
| -rwxr-xr-x | scripts/azure-pipelines/test-modified-ports.ps1 | 22 | ||||
| -rw-r--r-- | scripts/azure-pipelines/windows/azure-pipelines.yml | 8 | ||||
| -rw-r--r-- | scripts/ci.baseline.txt | 166 |
7 files changed, 94 insertions, 503 deletions
diff --git a/scripts/azure-pipelines/analyze-test-results.ps1 b/scripts/azure-pipelines/analyze-test-results.ps1 index 9e6d09d20..5bebe985c 100755 --- a/scripts/azure-pipelines/analyze-test-results.ps1 +++ b/scripts/azure-pipelines/analyze-test-results.ps1 @@ -15,24 +15,11 @@ Then, uploads the logs from any unexpected failures. .PARAMETER logDir Directory of xml test logs to analyze. -.PARAMETER failurelogDir -Path to the failure logs that need to be published to azure for inspection. - -.PARAMETER outputDir -Where to write out the results of the analysis. - .PARAMETER allResults Include tests that have no change from the baseline in the output. -.PARAMETER errorOnRegression -Output an error on test regressions. -This will give a clean message in the build pipeline. - -.PARAMETER noTable -Don't create or upload the markdown table of results - -.PARAMETER triplets -A list of triplets to analyze; defaults to all triplets. +.PARAMETER triplet +The triplet to analyze. .PARAMETER baselineFile The path to the ci.baseline.txt file in the vcpkg repository. @@ -41,14 +28,9 @@ The path to the ci.baseline.txt file in the vcpkg repository. Param( [Parameter(Mandatory = $true)] [string]$logDir, - [Parameter(Mandatory = $true)] - [string]$failurelogDir, - [Parameter(Mandatory = $true)] - [string]$outputDir, [switch]$allResults, - [switch]$errorOnRegression, - [switch]$noTable, - [string[]]$triplets = @(), + [Parameter(Mandatory = $true)] + [string]$triplet, [Parameter(Mandatory = $true)] [string]$baselineFile ) @@ -59,25 +41,6 @@ if ( -not (Test-Path $logDir) ) { [System.Console]::Error.WriteLine("Log directory does not exist: $logDir") exit } -if ( -not (Test-Path $outputDir) ) { - [System.Console]::Error.WriteLine("output directory does not exist: $outputDir") - exit -} - -if ( $triplets.Count -eq 0 ) { - $triplets = @( - "x64-linux", - "x64-osx", - "arm-uwp", - "arm64-windows", - "x64-osx", - "x64-uwp", - "x64-windows-static", - "x64-windows", - "x86-windows" - ) -} - <# .SYNOPSIS @@ -402,260 +365,6 @@ function combine_results { <# .SYNOPSIS -Takes the combined results object and writes it to an xml file. - -.DESCRIPTION -write_xunit_results takes the results object from combine_results, and writes the -results XML file to the correct location for the CI system to pick it up. - -.PARAMETER combined_results -The results object from combine_results. -#> -function write_xunit_results { - [CmdletBinding()] - Param( - $combined_results - ) - $allTests = $combined_results.allTests - $triplet = $combined_results.collectionName - - $filePath = "$outputDir\$triplet.xml" - if (Test-Path $filePath) { - Write-Verbose "removing old file $filepath" - rm $filePath - } - Write-Verbose "output filename: $filepath" - - $xmlWriter = New-Object System.Xml.XmlTextWriter($filePath, $Null) - $xmlWriter.Formatting = "Indented" - $xmlWriter.IndentChar = "`t" - - $xmlWriter.WriteStartDocument() - $xmlWriter.WriteStartElement("assemblies") - $xmlWriter.WriteStartElement("assembly") - $xmlWriter.WriteAttributeString("name", $combined_results.assemblyName) - $xmlWriter.WriteAttributeString("run-date", $combined_results.assemblyStartDate) - $xmlWriter.WriteAttributeString("run-time", $combined_results.assemblyStartTime) - $xmlWriter.WriteAttributeString("time", $combined_results.assemblyTime) - - $xmlWriter.WriteStartElement("collection") - $xmlWriter.WriteAttributeString("name", $triplet) - $xmlWriter.WriteAttributeString("time", $combined_results.collectionTime) - - foreach ($testName in $allTests.Keys) { - $test = $allTests[$testName] - - $xmlWriter.WriteStartElement("test") - - $fullTestName = "$($testName):$triplet" - $xmlWriter.WriteAttributeString("name", $fullTestName) - $xmlWriter.WriteAttributeString("method", $fullTestName) - $xmlWriter.WriteAttributeString("time", $test.time) - $xmlWriter.WriteAttributeString("result", $test.result) - - switch ($test.result) { - "Pass" { } # Do nothing - "Fail" { - $xmlWriter.WriteStartElement("failure") - $xmlWriter.WriteStartElement("message") - $xmlWriter.WriteCData($test.message) - $xmlWriter.WriteEndElement() #message - $xmlWriter.WriteEndElement() #failure - } - "Skip" { - $xmlWriter.WriteStartElement("reason") - $xmlWriter.WriteCData($test.message) - $xmlWriter.WriteEndElement() #reason - } - } - - $xmlWriter.WriteEndElement() # test - } - - - $xmlWriter.WriteEndElement() # collection - $xmlWriter.WriteEndElement() # assembly - $xmlWriter.WriteEndElement() # assemblies - $xmlWriter.WriteEndDocument() - $xmlWriter.Flush() - $xmlWriter.Close() -} - -<# -.SYNOPSIS -Saves the failure logs, and prints information to the screen for CI. - -.DESCRIPTION -save_failure_logs takes the combined_results object, saves the failure -logs to the correct location for the CI to pick them up, and writes pretty -information to the screen for the CI logs, so that one knows what's wrong. - -.PARAMETER combined_results -The results object from combine_results. -#> -function save_failure_logs { - [CmdletBinding()] - Param( - $combined_results - ) - $triplet = $combined_results.collectionName - $allTests = $combined_results.allTests - - # abi_tags of missing results (if any exist) - $missing_results = @() - - foreach ($testName in $allTests.Keys) { - $test = $allTests[$testName] - if ($test.result -eq "Fail") { - $path_to_failure_Logs = Join-Path "$outputDir" "failureLogs" - if ( -not (Test-Path $path_to_failure_Logs)) { - mkdir $path_to_failure_Logs | Out-Null - } - $path_to_triplet_Logs = Join-Path $path_to_failure_Logs "$triplet" - if ( -not (Test-Path $path_to_triplet_Logs)) { - mkdir $path_to_triplet_Logs | Out-Null - } - - $abi_tag = $test.abi_tag - $sourceDirectory = Join-Path "$failurelogDir" "$($abi_tag.substring(0,2))" - $sourceFilename = Join-Path $sourceDirectory "$abi_tag.zip" - Write-Verbose "searching for $sourceFilename" - - if ( Test-Path $sourceFilename) { - Write-Verbose "found failure log file" - - Write-Verbose "Uncompressing $sourceFilename to $outputDir\failureLogs\$triplet\" - Write-Host "Uncompressing $sourceFilename to $outputDir\failureLogs\$triplet\" - - $destination = Join-Path (Join-Path "$outputDir" "failureLogs") "$triplet" - - Expand-Archive -Path $sourceFilename -Destination $destination -Force - } - elseif ($test.currentState -eq "Pass") { - # The port is building, but is marked as expected to fail. There are no failure logs. - # Write a log with instructions how to fix it. - Write-Verbose "The port is building but marked as expected to fail, adding readme.txt with fixit instructions" - - $out_filename = Join-Path (Join-Path (Join-Path (Join-Path "$outputDir" "failureLogs") "$triplet") "$($test.name)") "readme.txt" - - $message = "Congradulations! The port $($test.name) builds for $triplet!`n" - $message += "For the CI tests to recognize this, please update ci.baseline.txt in your PR.`n" - $message += "Remove the line that looks like this:`n" - $message += " $($test.name):$triplet=fail`n" - $message | Out-File $out_filename -Encoding ascii - } - else { - $missing_results += $test.abi_tag - Write-Verbose "Missing failure logs for $($test.name)" - Join-Path (Join-Path (Join-Path "$outputDir" "failureLogs") "$triplet" ) "$($test.name)" | % { mkdir $_ } | Out-Null - } - - - - if ((Convert-Path "$outputDir\failureLogs\$triplet\$($test.name)" | Get-ChildItem).count -eq 0) { - Write-Verbose "The logs are empty, adding readme.txt" - - $readme_path = Join-Path (Join-Path (Join-Path (Join-Path "$outputDir" "failureLogs") "$triplet") "$($test.name)") "readme.txt" - - $message = "There are no build logs for $($test.name) build.`n" - $message += "This is usually because the build failed early and outside of a task that is logged.`n" - $message += "See the console output logs from vcpkg for more information on the failure.`n" - $message += "If the console output of the $($test.name) is missing you can trigger a rebuild`n" - $message += "in the test system by making any whitespace change to one of the files under`n" - $message += "the ports/$($test.name) directory or by asking a member of the vcpkg team to remove the`n" - $message += "tombstone for abi tag $abi_tag`n" - $message | Out-File $readme_path -Encoding ascii - } - } - } - - if ($missing_results.count -ne 0) { - $missing_tag_filename = Join-Path (Join-Path (Join-Path "$outputDir" "failureLogs") "$triplet") "missing_abi_tags.txt" - $missing_results | Out-File -FilePath $missing_tag_filename -Encoding ascii - } - Write-Verbose "$triplet logs saved: $(Get-ChildItem $outputDir\failureLogs\$triplet\ -ErrorAction Ignore)" - -} - -<# -.SYNOPSIS -Writes a pretty summary table to the CI log. - -.DESCRIPTION -Takes a hashtable which maps triplets to objects returned by the combine_results -cmdlet, and a list of missing triplets, and prints a really pretty summary table -to the CI logs. - -.PARAMETER complete_results -A hashtable which maps triplets to combine_results objects. - -.PARAMETER missing_triplets -A list of missing triplets. -#> -function write_summary_table { - [CmdletBinding()] - Param( - $complete_results, - $missing_triplets - ) - - $table = "" - - foreach ($triplet in $complete_results.Keys) { - $triplet_results = $complete_results[$triplet] - - if ($triplet_results.allTests.count -eq 0) { - $table += "$triplet CI build test results are clean`n`n" - } - else { - $portWidth = $triplet.length - #calculate the width of the first column - foreach ($testName in $triplet_results.allTests.Keys) { - $test = $triplet_results.allTests[$testName] - if ($portWidth -lt $test.name.length) { - $portWidth = $test.name.length - } - } - - # the header - $table += "|{0,-$portWidth}|result|features|notes`n" -f $triplet - $table += "|{0}|----|--------|-----`n" -f ("-" * $portWidth) - - # add each port results - foreach ($testName in $triplet_results.allTests.Keys | Sort-Object) { - $test = $triplet_results.allTests[$testName] - $notes = "" - if ($test.result -eq 'Fail') { - $notes = "**Regression**" - } - elseif ($test.result -eq 'Skip') { - if ($test.currentResult -eq 'Fail') { - $notes = "Previously skipped, not a regression" - } - else { - $notes = "Missing port dependency" - } - } - $notes = $test.message - $table += "|{0,-$portWidth}|{1,-4}|{2}|{3}`n" -f $test.name, $test.currentResult, $test.features, $notes - } - $table += "`n" - } - if ($triplet_results.ignored.Count -ne 0) { - $table += "The following build failures were ignored: $($triplet_results.ignored)`n" - } - } - - # Add list of missing triplets to the table - foreach ($triplet in $missing_triplets.Keys) { - $table += "$triplet results are inconclusive because it is missing logs from test run`n`n" - } - - $table -} - -<# -.SYNOPSIS Writes short errors to the CI logs. .DESCRIPTION @@ -705,74 +414,27 @@ function write_errors_for_summary { $complete_results = @{ } -$missing_triplets = @{ } -foreach ( $triplet in $triplets) { - Write-Verbose "looking for $triplet logs" +Write-Verbose "looking for $triplet logs" - # The standard name for logs is: - # <triplet>.xml - # for example: - # x64-linux.xml +# The standard name for logs is: +# <triplet>.xml +# for example: +# x64-linux.xml - $current_test_hash = build_test_results( Convert-Path "$logDir\$($triplet).xml" ) - $baseline_results = build_baseline_results -baselineFile $baselineFile -triplet $triplet +$current_test_hash = build_test_results( Convert-Path "$logDir\$($triplet).xml" ) +$baseline_results = build_baseline_results -baselineFile $baselineFile -triplet $triplet - if ($current_test_hash -eq $null) { - [System.Console]::Error.WriteLine("Missing $triplet test results in current test run") - $missing_triplets[$triplet] = "test" - } - else { - Write-Verbose "combining results..." - $complete_results[$triplet] = combine_results -baseline $baseline_results -current $current_test_hash - } -} - -Write-Verbose "done analizing results" - -# If there is only one triplet, add the triplet name to the result table file -if ($triplets.Count -eq 1) { - $result_table_name = $triplets[0] +if ($current_test_hash -eq $null) { + [System.Console]::Error.WriteLine("Missing $triplet test results in current test run") + $missing_triplets[$triplet] = "test" } else { - $result_table_name = "" -} - -if (-not $noTable) { - $table_path = Join-Path "$outputDir" "result_table$result_table_name.md" - - write_summary_table -complete_results $complete_results -missing_triplets $missing_triplets | Out-File -FilePath $table_path -Encoding ascii - - Write-Host "" - cat $table_path - - Write-Host "##vso[task.addattachment type=Distributedtask.Core.Summary;name=$result_table_name issue summary;]$table_path" -} - -foreach ( $triplet in $complete_results.Keys) { - $combined_results = $complete_results[$triplet] - if ( $failurelogDir -ne "") { - save_failure_logs -combined_results $combined_results - } - - write_xunit_results -combined_results $combined_results + Write-Verbose "combining results..." + $complete_results[$triplet] = combine_results -baseline $baseline_results -current $current_test_hash } +Write-Verbose "done analyzing results" # emit error last. Unlike the table output this is going to be seen in the "status" section of the pipeline # and needs to be formatted for a single line. -if ($errorOnRegression) { - write_errors_for_summary -complete_results $complete_results - - if ($missing_triplets.Count -ne 0) { - $regression_log_directory = Join-Path "$outputDir" "failureLogs" - if ( -not (Test-Path $regression_log_directory)) { - mkdir $regression_log_directory | Out-Null - } - $file_path = Join-Path $regression_log_directory "missing_test_results.txt" - $message = "Test logs are missing for the following triplets: $($hash.Keys | %{"$($_)($($hash[$_]))"})`n" - $message += "Without this information the we are unable to determine if the build has regressions. `n" - $message += "Missing test logs are sometimes the result of failures in the pipeline infrastructure. `n" - $message += "If you beleave this is the case please alert a member of the vcpkg team to investigate. `n" - $message | Out-File $file_path -Encoding ascii - } -} +write_errors_for_summary -complete_results $complete_results diff --git a/scripts/azure-pipelines/generate-skip-list.ps1 b/scripts/azure-pipelines/generate-skip-list.ps1 index 11980d7ad..84b78b338 100755 --- a/scripts/azure-pipelines/generate-skip-list.ps1 +++ b/scripts/azure-pipelines/generate-skip-list.ps1 @@ -19,7 +19,8 @@ The path to the ci.baseline.txt file. [CmdletBinding()] Param( [string]$Triplet, - [string]$BaselineFile + [string]$BaselineFile, + [switch]$SkipFailures = $false ) $ErrorActionPreference = 'Stop' @@ -70,7 +71,13 @@ foreach ($port in $baselineForTriplet | ForEach-Object { $_ -replace ":.*$" }) { } # Format the skip list for the command line +if ($SkipFailures) { + $targetRegex = "=(?:skip|fail)$" +} else { + $targetRegex = "=skip$" +} + $skip_list = $baselineForTriplet ` - | Where-Object { $_ -match "=skip$" } ` + | Where-Object { $_ -match $targetRegex } ` | ForEach-Object { $_ -replace ":.*$" } [string]::Join(",", $skip_list) diff --git a/scripts/azure-pipelines/linux/azure-pipelines.yml b/scripts/azure-pipelines/linux/azure-pipelines.yml index 77842437f..65d6d3f1d 100644 --- a/scripts/azure-pipelines/linux/azure-pipelines.yml +++ b/scripts/azure-pipelines/linux/azure-pipelines.yml @@ -37,11 +37,7 @@ jobs: inputs:
failOnStderr: true
filePath: 'scripts/azure-pipelines/test-modified-ports.ps1'
- arguments: '-Triplet x64-linux -BuildReason $(Build.Reason) -ArchivesRoot /archives -WorkingRoot /mnt/vcpkg-ci -ArtifactStagingDirectory $(Build.ArtifactStagingDirectory) -ArtifactsDirectory $(System.ArtifactsDirectory)'
- - task: PublishTestResults@2
- inputs:
- testResultsFiles: '$(System.ArtifactsDirectory)/xml-results/x64-linux.xml'
- condition: always()
+ arguments: '-Triplet x64-linux -BuildReason $(Build.Reason) -ArchivesRoot /archives -WorkingRoot /mnt/vcpkg-ci -ArtifactsDirectory $(System.ArtifactsDirectory)'
- bash: |
df -h
displayName: 'Report on Disk Space After Build'
@@ -49,6 +45,6 @@ jobs: - task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: x86-linux Build Failure Logs'
inputs:
- PathtoPublish: '$(Build.ArtifactStagingDirectory)/failureLogs'
+ PathtoPublish: '$(System.ArtifactsDirectory)/failure-logs'
ArtifactName: 'x64-linux port build failure logs'
condition: failed()
diff --git a/scripts/azure-pipelines/osx/azure-pipelines.yml b/scripts/azure-pipelines/osx/azure-pipelines.yml index 8008df45f..33685fd6b 100644 --- a/scripts/azure-pipelines/osx/azure-pipelines.yml +++ b/scripts/azure-pipelines/osx/azure-pipelines.yml @@ -41,11 +41,7 @@ jobs: inputs:
failOnStderr: true
filePath: 'scripts/azure-pipelines/test-modified-ports.ps1'
- arguments: '-Triplet x64-osx -BuildReason $(Build.Reason) -ArchivesRoot /Users/vagrant/Data/archives -WorkingRoot /Users/vagrant/Data -ArtifactStagingDirectory $(Build.ArtifactStagingDirectory) -ArtifactsDirectory $(System.ArtifactsDirectory)'
- - task: PublishTestResults@2
- inputs:
- testResultsFiles: '$(System.ArtifactsDirectory)/xml-results/x64-osx.xml'
- condition: always()
+ arguments: '-Triplet x64-osx -BuildReason $(Build.Reason) -ArchivesRoot /Users/vagrant/Data/archives -WorkingRoot /Users/vagrant/Data -ArtifactsDirectory $(System.ArtifactsDirectory)'
- bash: |
df -h
displayName: 'Report on Disk Space After Build'
@@ -53,6 +49,6 @@ jobs: - task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: x64-osx port build failure logs'
inputs:
- PathtoPublish: '$(Build.ArtifactStagingDirectory)/failureLogs'
+ PathtoPublish: '$(System.ArtifactsDirectory)/failure-logs'
ArtifactName: 'x64-osx port build failure logs'
condition: failed()
diff --git a/scripts/azure-pipelines/test-modified-ports.ps1 b/scripts/azure-pipelines/test-modified-ports.ps1 index d6b59364e..9a30321b4 100755 --- a/scripts/azure-pipelines/test-modified-ports.ps1 +++ b/scripts/azure-pipelines/test-modified-ports.ps1 @@ -15,9 +15,6 @@ The location where the binary caching archives are stored. Shared across runs of .PARAMETER WorkingRoot
The location used as scratch space for 'installed', 'packages', and 'buildtrees' vcpkg directories.
-.PARAMETER ArtifactStagingDirectory
-The Azure Pipelines artifact staging directory. If not supplied, defaults to the current directory.
-
.PARAMETER ArtifactsDirectory
The Azure Pipelines artifacts directory. If not supplied, defaults to the current directory.
@@ -38,8 +35,6 @@ Param( [ValidateNotNullOrEmpty()]
$WorkingRoot,
[ValidateNotNullOrEmpty()]
- $ArtifactStagingDirectory = '.',
- [ValidateNotNullOrEmpty()]
$ArtifactsDirectory = '.',
$BuildReason = $null
)
@@ -61,11 +56,13 @@ $commonArgs = @( )
$binaryCachingMode = 'readwrite'
+$skipFailures = $false
if ([string]::IsNullOrWhiteSpace($BuildReason)) {
Write-Host 'Build reason not specified, defaulting to using binary caching in read write mode.'
}
elseif ($BuildReason -eq 'PullRequest') {
- Write-Host 'Build reason was Pull Request, using binary caching in read write mode.'
+ Write-Host 'Build reason was Pull Request, using binary caching in read write mode, skipping failures.'
+ $skipFailures = $true
}
else {
Write-Host "Build reason was $BuildReason, using binary caching in write only mode."
@@ -89,8 +86,13 @@ $xmlResults = Join-Path $ArtifactsDirectory 'xml-results' mkdir $xmlResults
$xmlFile = Join-Path $xmlResults "$Triplet.xml"
+$failureLogs = Join-Path $ArtifactsDirectory 'failure-logs'
+
& "./vcpkg$executableExtension" x-ci-clean @commonArgs
-$skipList = . "$PSScriptRoot/generate-skip-list.ps1" -Triplet $Triplet -BaselineFile "$PSScriptRoot/../ci.baseline.txt"
+$skipList = . "$PSScriptRoot/generate-skip-list.ps1" `
+ -Triplet $Triplet `
+ -BaselineFile "$PSScriptRoot/../ci.baseline.txt" `
+ -SkipFailures:$skipFailures
# WORKAROUND: the x86-windows flavors of these are needed for all cross-compilation, but they are not auto-installed.
# Install them so the CI succeeds:
@@ -98,7 +100,7 @@ if ($Triplet -in @('x64-uwp', 'arm64-windows', 'arm-uwp')) { .\vcpkg.exe install protobuf:x86-windows boost-build:x86-windows sqlite3:x86-windows @commonArgs
}
-& "./vcpkg$executableExtension" ci $Triplet --x-xunit=$xmlFile --exclude=$skipList @commonArgs
-& "$PSScriptRoot/analyze-test-results.ps1" -logDir $xmlResults -outputDir $ArtifactStagingDirectory `
- -failureLogDir (Join-Path $ArchivesRoot 'fail') -triplets $Triplet -errorOnRegression `
+& "./vcpkg$executableExtension" ci $Triplet --x-xunit=$xmlFile --exclude=$skipList --failure-logs=$failureLogs @commonArgs
+& "$PSScriptRoot/analyze-test-results.ps1" -logDir $xmlResults `
+ -triplet $Triplet `
-baselineFile .\scripts\ci.baseline.txt
diff --git a/scripts/azure-pipelines/windows/azure-pipelines.yml b/scripts/azure-pipelines/windows/azure-pipelines.yml index a20ee23bb..d7f34b3c7 100644 --- a/scripts/azure-pipelines/windows/azure-pipelines.yml +++ b/scripts/azure-pipelines/windows/azure-pipelines.yml @@ -49,11 +49,7 @@ jobs: inputs:
failOnStderr: true
filePath: 'scripts/azure-pipelines/test-modified-ports.ps1'
- arguments: '-Triplet ${{ parameters.triplet }} -BuildReason $(Build.Reason) -ArchivesRoot W:\ -WorkingRoot D:\ -ArtifactStagingDirectory $(Build.ArtifactStagingDirectory) -ArtifactsDirectory $(System.ArtifactsDirectory)'
- - task: PublishTestResults@2
- inputs:
- testResultsFiles: '$(System.ArtifactsDirectory)/xml-results/${{ parameters.triplet }}.xml'
- condition: always()
+ arguments: '-Triplet ${{ parameters.triplet }} -BuildReason $(Build.Reason) -ArchivesRoot W:\ -WorkingRoot D:\ -ArtifactsDirectory $(System.ArtifactsDirectory)'
- task: PowerShell@2
displayName: 'Report on Disk Space After Build'
condition: always()
@@ -62,6 +58,6 @@ jobs: - task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: ${{ parameters.triplet }} port build failure logs'
inputs:
- PathtoPublish: '$(Build.ArtifactStagingDirectory)\failureLogs'
+ PathtoPublish: '$(System.ArtifactsDirectory)\failure-logs'
ArtifactName: '${{ parameters.triplet }} port build failure logs'
condition: failed()
diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index ab8ea0e60..4ae2000d5 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -13,9 +13,6 @@ ## This is added to ports that may be flaky or conflict with other ## ports. Please comment for why a port is skipped so it can be ## removed when the issue is resolved. -## ignore - attempt to build the port, but do not fail the CI test if the -## port does not build. Any ignored build failures will be reported -## in the test summary. ## ## ## CI tested triplets: @@ -38,7 +35,7 @@ 3fd:x64-osx=fail 3fd:x64-windows=fail 3fd:x64-windows-static=fail -3fd:x86-windows=ignore +3fd:x86-windows=fail 7zip:arm64-windows=fail 7zip:arm-uwp=fail 7zip:x64-linux=fail @@ -64,9 +61,6 @@ angelscript:arm64-windows=fail angelscript:arm-uwp=fail antlr4:arm-uwp=fail antlr4:x64-uwp=fail -anyrpc:arm-uwp=ignore -anyrpc:x86-windows=ignore -anyrpc:x64-windows-static=ignore apr:arm-uwp=fail apr:x64-uwp=fail # Cross compiling CI machine cannot run gen_test_char to generate apr_escape_test_char.h @@ -107,10 +101,8 @@ aws-lambda-cpp:x64-windows=fail aws-lambda-cpp:x64-windows-static=fail aws-lambda-cpp:x86-windows=fail aws-lambda-cpp:x64-osx=fail -aws-sdk-cpp:x64-linux=ignore azure-c-shared-utility:arm-uwp=fail azure-c-shared-utility:x64-uwp=fail -basisu:x64-linux=ignore bde:arm64-windows=fail bde:arm-uwp=fail bde:x64-uwp=fail @@ -151,7 +143,6 @@ boost-fiber:arm-uwp=fail boost-fiber:arm64-windows=fail boost-fiber:x64-osx=fail boost-fiber:x64-uwp=fail -boost-fiber:x64-linux=ignore boost-filesystem:arm-uwp=fail boost-filesystem:x64-uwp=fail boost-iostreams:arm-uwp=fail @@ -175,11 +166,9 @@ breakpad:arm64-windows=fail bullet3:arm64-windows=fail bullet3:arm-uwp=fail bullet3:x64-uwp=fail -butteraugli:x64-linux=ignore caf:arm-uwp=fail caf:arm64-windows=fail caf:x64-uwp=fail -caf:x64-linux=ignore caffe2:x86-windows=fail caffe2:arm64-windows=fail cairomm:x64-linux=fail @@ -238,7 +227,6 @@ civetweb:arm-uwp = skip civetweb:x64-uwp = skip clapack:x64-uwp=fail clblas:arm64-windows=fail -clblast:x64-osx=ignore clblast:x64-linux=fail clblast:x64-windows-static=fail clockutils:x64-linux=fail @@ -270,15 +258,11 @@ cppcms:x64-osx=fail cppcms:x64-windows-static=fail cppfs:arm-uwp=fail cppfs:x64-uwp=fail -cppgraphqlgen:arm-uwp=ignore -cppgraphqlgen:x64-uwp=ignore -cppkafka:x64-linux=ignore cppmicroservices:arm64-windows=fail cppmicroservices:arm-uwp=fail cppmicroservices:x64-uwp=fail cpp-netlib:arm-uwp=fail cpp-netlib:x64-uwp=fail -cpp-netlib:x64-linux=ignore cpp-taskflow:x64-osx=fail cppcoro:x64-linux=fail cppcoro:arm-uwp=fail @@ -288,8 +272,7 @@ cppunit:arm-uwp=fail cppunit:x64-linux=fail cppunit:x64-osx=fail cppunit:x64-uwp=fail -cpr:x64-linux=ignore -cpuinfo:arm64-windows=ignore +cpuinfo:arm64-windows=fail crashpad:arm64-windows=fail crashpad:arm-uwp=fail crashpad:x64-linux=fail @@ -344,10 +327,10 @@ dlfcn-win32:x64-linux=fail dlfcn-win32:x64-osx=fail dlfcn-win32:x64-uwp=fail dmlc:arm-uwp=fail -dmlc:arm64-windows=ignore +dmlc:arm64-windows=fail dmlc:x64-uwp=fail -dmlc:x64-windows-static=ignore -dmlc:x86-windows=ignore +dmlc:x64-windows-static=fail +dmlc:x86-windows=fail dpdk:arm-uwp=fail dpdk:arm64-windows=fail dpdk:x64-linux=fail @@ -457,11 +440,11 @@ fmi4cpp:arm-uwp=fail fmi4cpp:x64-uwp=fail fmilib:arm64-windows=fail fmilib:arm-uwp=fail -fmilib:x64-linux=ignore +fmilib:x64-linux=fail fmilib:x64-uwp=fail -fmilib:x64-windows=ignore -fmilib:x64-windows-static=ignore -fmilib:x86-windows=ignore +fmilib:x64-windows=fail +fmilib:x64-windows-static=fail +fmilib:x86-windows=fail foonathan-memory:arm64-windows=fail foonathan-memory:arm-uwp=fail foonathan-memory:x64-uwp=fail @@ -480,11 +463,11 @@ freetds:x64-osx=fail freetds:x64-uwp=fail freetype-gl:x64-uwp=fail freexl:arm-uwp=fail -freexl:arm64-windows=ignore +freexl:arm64-windows=fail freexl:x64-uwp=fail -freexl:x86-windows=ignore -freexl:x64-windows=ignore -freexl:x64-windows-static=ignore +freexl:x86-windows=fail +freexl:x64-windows=fail +freexl:x64-windows-static=fail fribidi:arm64-windows=fail fribidi:arm-uwp=fail fribidi:x64-linux=fail @@ -508,7 +491,6 @@ gasol:arm-uwp=fail gasol:x64-uwp=fail gdcm:arm64-windows=fail gdcm:x64-linux = skip -geographiclib:x64-linux=ignore geos:arm-uwp=fail geos:x64-uwp=fail getopt:arm-uwp=fail @@ -540,7 +522,6 @@ glfw3:x64-uwp=fail glib:x64-uwp=fail glib:x64-windows-static=fail glib:x64-osx=fail -globjects:x64-linux=ignore gmmlib:arm64-windows=fail gmmlib:arm-uwp=fail gmmlib:x64-osx=fail @@ -570,7 +551,6 @@ gsoap:x64-linux=fail gsoap:x64-osx=fail gsoap:x64-uwp=fail gtk:x64-linux=fail -gtk:x86-windows=ignore guetzli:x64-osx=fail h3:arm64-windows=fail h3:arm-uwp=fail @@ -598,7 +578,6 @@ hpx:x64-linux=fail hwloc:arm64-windows=fail hwloc:arm-uwp=fail hwloc:x64-uwp=fail -hyperscan:x64-linux=ignore # hypre has a conflict with 'superlu' port hypre:x64-linux=skip hypre:x64-osx=skip @@ -616,7 +595,6 @@ ignition-msgs5:arm64-windows=fail ignition-msgs5:arm-uwp=fail ignition-msgs5:x64-uwp=fail ignition-msgs5:x64-osx=skip -imgui-sfml:x64-linux=ignore intel-ipsec:arm64-windows=fail intel-ipsec:arm-uwp=fail intel-ipsec:x64-osx=fail @@ -649,7 +627,6 @@ isal:x86-windows=fail itk:x64-windows=fail itk:x64-windows-static=fail itk:x86-windows=fail -ixwebsocket:x64-linux=ignore jack2:arm-uwp=fail jack2:x64-uwp=fail jaeger-client-cpp:arm64-windows=fail @@ -739,10 +716,9 @@ libfabric:arm-uwp=fail libfabric:x64-linux=fail libfabric:x64-osx=fail libfabric:x64-uwp=fail -libfabric:x64-windows=ignore +libfabric:x64-windows=fail libfabric:x64-windows-static=fail libfreenect2:arm64-windows=fail -libgd:x64-linux=ignore libgit2:arm-uwp=fail libgit2:x64-uwp=fail libgo:arm-uwp=fail @@ -824,9 +800,6 @@ libmupdf:x64-osx=fail libmysql:x86-windows=fail libnice:x64-linux=fail libnice:x64-osx=fail -libodb-boost:x64-linux=ignore -libodb-pgsql:x64-linux=ignore -libodb-pgsql:x64-windows=ignore libopenmpt:x64-linux=fail libopenmpt:x64-osx=fail libopusenc:arm-uwp=fail @@ -876,7 +849,6 @@ libpq:x64-uwp=fail libqcow:arm-uwp=fail libqcow:x64-uwp=fail libqcow:x64-windows-static=fail -librabbitmq:x64-linux=ignore libraqm:x64-windows-static=fail librdkafka:arm-uwp=fail librdkafka:x64-uwp=fail @@ -974,7 +946,6 @@ libxslt:x64-osx=fail libxslt:x64-uwp=fail libyuv:arm-uwp=fail libyuv:x64-uwp=fail -libzippp:x64-linux=ignore licensepp:arm-uwp=fail licensepp:x64-uwp=fail linenoise-ng:arm-uwp=fail @@ -1022,7 +993,6 @@ marl:arm-uwp=fail marl:x64-uwp=fail mathgl:x64-osx=fail mathgl:x64-uwp=fail -mathgl:x64-linux=ignore matio:x64-linux=fail matio:x64-osx=fail mbedtls:arm-uwp=fail @@ -1060,7 +1030,7 @@ mhook:x64-osx=fail mhook:x64-uwp=fail milerius-sfml-imgui:x64-osx=fail milerius-sfml-imgui:x64-windows-static=fail -milerius-sfml-imgui:x64-linux=ignore +milerius-sfml-imgui:x64-linux=fail mimalloc:arm64-windows=fail mimalloc:arm-uwp=fail mimalloc:x64-uwp=fail @@ -1116,13 +1086,13 @@ monkeys-audio:x64-uwp=fail monkeys-audio:x64-windows-static=fail moos-core:arm-uwp=fail moos-core:x64-uwp=fail -moos-core:x64-windows=ignore +moos-core:x64-windows=fail moos-core:x64-windows-static=fail -moos-core:x86-windows=ignore +moos-core:x86-windows=fail moos-essential:arm64-windows=fail moos-essential:x64-windows=fail moos-essential:x86-windows=fail -moos-essential:x64-linux=ignore +moos-essential:x64-linux=fail mozjpeg:arm64-windows = skip mozjpeg:arm-uwp = skip mozjpeg:x64-linux = skip @@ -1180,15 +1150,14 @@ nanorange:x64-windows=fail nanorange:x64-windows-static=fail nanorange:x86-windows=fail nanovg:arm-uwp=fail -nanovg:arm64-windows=ignore +nanovg:arm64-windows=fail nanovg:x64-uwp=fail -nanovg:x64-linux=ignore -nanovg:x64-windows=ignore -nanovg:x64-windows-static=ignore +nanovg:x64-linux=fail +nanovg:x64-windows=fail +nanovg:x64-windows-static=fail nanovg:x86-windows=skip nativefiledialog:arm-uwp=fail nativefiledialog:x64-uwp=fail -netcdf-cxx4:x64-linux=ignore nethost:x64-uwp=fail nethost:arm-uwp=fail nettle:x64-windows-static=skip @@ -1207,7 +1176,6 @@ nng:arm-uwp=fail nng:x64-uwp=fail nrf-ble-driver:arm-uwp=fail nrf-ble-driver:x64-uwp=fail -nrf-ble-driver:x64-linux=ignore numactl:arm64-windows=fail numactl:arm-uwp=fail numactl:x64-osx=fail @@ -1227,7 +1195,6 @@ octomap:x64-uwp=fail ode:arm64-windows=fail ode:arm-uwp=fail ode:x64-uwp=fail -ode:x64-linux=ignore offscale-libetcd-cpp:arm64-windows=fail offscale-libetcd-cpp:arm-uwp=fail offscale-libetcd-cpp:x64-uwp=fail @@ -1269,7 +1236,6 @@ opencensus-cpp:x86-windows=fail opencensus-cpp:x64-uwp=fail opencl:arm-uwp=fail opencl:x64-uwp=fail -opencolorio:x64-linux=ignore opencsg:x64-uwp=fail opencv2:arm64-windows = skip opencv2:arm-uwp = skip @@ -1294,9 +1260,8 @@ openexr:arm-uwp=fail openexr:x64-uwp=fail opengl:arm64-windows=fail opengl:arm-uwp=fail -openimageio:x64-linux=ignore -openmama:x64-windows=ignore -openmama:x86-windows=ignore +openmama:x64-windows=fail +openmama:x86-windows=fail openmama:x64-linux=fail openmama:x64-osx=fail openmesh:arm64-windows=fail @@ -1308,7 +1273,6 @@ openmpi:x64-uwp=fail openmpi:x64-windows=fail openmpi:x64-windows-static=fail openmpi:x86-windows=fail -openmvg:x64-linux=ignore openmvs:x64-linux=fail openni2:x64-uwp=fail openni2:x64-windows-static=fail @@ -1331,7 +1295,6 @@ openssl-windows:x64-osx=fail openssl-windows:x64-uwp=fail opentracing:arm-uwp=fail opentracing:x64-uwp=fail -openvdb:x64-linux=ignore openvdb:x64-osx=fail #openvdb:x64-windows-static=fail # https://github.com/microsoft/vcpkg/pull/10816#issuecomment-613784827 openvpn3:x64-osx=fail @@ -1353,7 +1316,6 @@ optional-bare:x64-windows-static = skip optional-bare:x86-windows = skip opusfile:arm-uwp=fail opusfile:x64-uwp=fail -orc:x64-linux=ignore orocos-kdl:arm-uwp=fail orocos-kdl:x64-uwp=fail osg:x86-windows=skip @@ -1362,11 +1324,6 @@ osgearth:x64-osx=fail osgearth:x64-linux=fail osgearth:x64-windows-static=fail osg-qt:x64-windows-static=fail -otl:x64-windows=ignore -otl:x64-windows-static=ignore -otl:x64-uwp=ignore -otl:x64-linux=ignore -otl:x86-windows=ignore paho-mqtt:arm-uwp=fail paho-mqtt:x64-uwp=fail pangolin:x64-linux=fail @@ -1374,8 +1331,6 @@ pangolin:x64-osx=fail pangolin:x64-uwp=fail pangolin:x64-windows-static=fail pangomm:x64-osx=fail -pangomm:x64-windows=ignore -pangomm:x86-windows=ignore pangomm:arm64-windows=fail parmetis:x64-linux=fail parmetis:x64-osx=fail @@ -1414,7 +1369,6 @@ pixel:x64-uwp=fail pixel:x64-windows=fail pixel:x64-windows-static=fail pixel:x86-windows=fail -pixel:x64-linux=ignore platform-folders:arm-uwp=fail platform-folders:x64-uwp=fail plib:arm-uwp=fail @@ -1434,7 +1388,6 @@ pmdk:x64-windows-static=fail pmdk:x86-windows=fail pngwriter:arm-uwp=fail pngwriter:x64-uwp=fail -pngwriter:x64-linux=ignore polyhook2:arm64-windows=fail polyhook2:arm-uwp=fail polyhook2:x64-linux=fail @@ -1452,15 +1405,11 @@ portmidi:arm-uwp=fail portmidi:x64-linux=fail portmidi:x64-osx=fail portmidi:x64-uwp=fail -ppconsul:x64-linux=ignore pqp:arm-uwp=fail pqp:x64-uwp=fail proj4:arm64-windows=fail proj4:arm-uwp=fail proj4:x64-uwp=fail -protobuf:x64-uwp=ignore -protobuf:arm64-windows=ignore -protobuf:arm-uwp=ignore protobuf-c:x86-windows=fail protobuf-c:x64-windows=fail protobuf-c:x64-windows-static=fail @@ -1488,9 +1437,8 @@ python3:x64-uwp=fail qca:x64-linux=fail qca:x64-osx=fail qca:x64-windows-static=fail -qhull:arm-uwp=ignore -qhull:x64-windows-static=ignore -qhull:x64-uwp=ignore +qhull:x64-uwp=fail +qhull:arm-uwp=fail qpid-proton:arm-uwp=fail qpid-proton:x64-uwp=fail qpid-proton:x64-windows-static=fail @@ -1525,13 +1473,13 @@ qt5-x11extras:x64-windows-static=fail # Broken by VS2019 16.6 and throws a ton of dialogs attempting to build # fixed by https://github.com/microsoft/vcpkg/pull/11596 qt5-translations:x64-windows-static=skip -quickfast:x64-linux=ignore -quickfix:x64-linux=ignore -quickfix:x64-windows=ignore -quickfix:x64-windows-static=ignore -quickfix:x86-windows=ignore -quickfix:x64-uwp=fail quickfix:arm-uwp=fail +quickfix:arm64-windows=fail +quickfix:x64-linux=fail +quickfix:x64-uwp=fail +quickfix:x64-windows-static=fail +quickfix:x64-windows=fail +quickfix:x86-windows=fail quill:arm64-windows=fail quill:arm-uwp=fail quill:x64-uwp=fail @@ -1543,9 +1491,8 @@ quirc:x64-uwp = skip quirc:x64-windows = skip quirc:x64-windows-static = skip quirc:x86-windows = skip -qwt:x64-osx=ignore +qwt:x64-osx=fail rabit:x64-osx=fail -rabit:x64-linux=ignore ragel:arm-uwp=fail ragel:x64-uwp=fail range-v3-vs2015:arm64-windows = skip @@ -1593,13 +1540,9 @@ rhash:arm-uwp=fail rhash:x64-uwp=fail rocksdb:arm-uwp=fail rocksdb:x64-uwp=fail -rocksdb:x64-linux=ignore rpclib:arm64-windows=fail rpclib:arm-uwp=fail rpclib:x64-uwp=fail -rpclib:x64-windows=ignore -rpclib:x86-windows=ignore -rpclib:x64-windows-static=ignore rtlsdr:x64-uwp=fail rtlsdr:arm64-windows=fail rtlsdr:arm-uwp=fail @@ -1636,7 +1579,6 @@ scylla-wrapper:x64-windows-static=fail sdformat6:arm64-windows=fail sdformat6:arm-uwp=fail sdformat6:x64-uwp=fail -sdformat6:x64-linux=ignore sdformat9:x64-linux=fail sdformat9:arm-uwp=fail sdformat9:x64-uwp=fail @@ -1654,7 +1596,6 @@ seal:arm-uwp=fail seal:x64-uwp=fail secp256k1:x64-linux=fail secp256k1:x64-osx=fail -selene:x64-linux=ignore sentencepiece:arm64-windows=fail sentencepiece:arm-uwp=fail sentencepiece:x64-uwp=fail @@ -1663,7 +1604,6 @@ sentencepiece:x86-windows=fail septag-sx:arm64-windows=fail septag-sx:arm-uwp=fail septag-sx:x64-uwp=fail -sfgui:x64-linux=ignore sfml:arm64-windows=fail shapelib:arm-uwp=fail shapelib:x64-uwp=fail @@ -1708,13 +1648,11 @@ soqt:arm64-windows=fail soqt:arm-uwp=fail soqt:x64-uwp=fail soundtouch:arm-uwp=fail -soundtouch:x64-linux=ignore soundtouch:x64-uwp=fail soundtouch:x64-windows-static=fail spaceland:arm64-windows=fail spaceland:arm-uwp=fail spaceland:x64-uwp=fail -spaceland:x64-linux=ignore spdk:x64-linux=fail spdk-dpdk:arm64-windows=fail spdk-dpdk:arm-uwp=fail @@ -1774,15 +1712,14 @@ superlu:x64-windows=skip systemc:arm64-windows=fail systemc:arm-uwp=fail systemc:x64-uwp=fail -taglib:x64-linux=ignore tbb:arm64-windows=fail tbb:arm-uwp=fail tbb:x64-uwp=fail -tcl:arm-uwp=ignore -tcl:arm64-windows=ignore -tcl:x64-uwp=ignore -tcl:x64-linux=ignore -tcl:x64-osx=ignore +tcl:arm-uwp=fail +tcl:arm64-windows=fail +tcl:x64-uwp=fail +tcl:x64-linux=fail +tcl:x64-osx=fail teemo:x64-uwp=fail teemo:arm-uwp=fail teemo:arm64-windows=fail @@ -1795,9 +1732,9 @@ tensorflow-cc:x64-osx=skip tensorflow-cc:x64-windows=fail tensorflow-cc:x64-windows-static=fail tensorflow-cc:x86-windows=fail -tesseract:x64-windows=ignore -tesseract:x64-windows-static=ignore -tesseract:x86-windows=ignore +tesseract:x64-windows=fail +tesseract:x64-windows-static=fail +tesseract:x86-windows=fail tesseract:arm64-windows=fail tfhe:x86-windows=fail tfhe:x64-windows=fail @@ -1821,7 +1758,6 @@ tinyexif:arm-uwp=fail tinyexif:x64-uwp=fail tinyfiledialogs:arm-uwp=fail tinyfiledialogs:x64-uwp=fail -tinynpy:x64-linux=ignore tiny-process-library:arm-uwp=fail tiny-process-library:x64-uwp=fail tinyutf8:arm64-windows=fail @@ -1909,15 +1845,13 @@ vxl:x64-windows = skip vxl:x64-windows-static = skip vxl:x86-windows = skip wampcc:arm64-windows=fail -wampcc:x64-linux=ignore -wangle:x64-linux=ignore wavpack:arm64-windows=fail wavpack:x64-linux=fail wavpack:x64-osx=fail -wepoll:arm-uwp=ignore -wepoll:x64-uwp=ignore -wepoll:x64-linux=ignore -wepoll:x64-osx=ignore +wepoll:arm-uwp=fail +wepoll:x64-uwp=fail +wepoll:x64-linux=fail +wepoll:x64-osx=fail wildmidi:x64-osx=fail wincrypt:x64-linux=fail wincrypt:x64-osx=fail @@ -1946,11 +1880,11 @@ wxchartdir:x64-osx=fail wxwidgets:x64-linux=fail x264:arm64-windows=fail x264:arm-uwp=fail -x264:x64-uwp=ignore +x264:x64-uwp=fail x264:x64-osx=fail -x264:x86-windows=ignore -x264:x64-windows=ignore -x264:x64-windows-static=ignore +x264:x86-windows=fail +x264:x64-windows=fail +x264:x64-windows-static=fail x265:arm64-windows=fail x265:arm-uwp=fail x265:x64-uwp=fail @@ -1961,7 +1895,6 @@ xbyak:arm-uwp=fail xbyak:x64-uwp=fail xerces-c:arm-uwp=fail xerces-c:x64-uwp=fail -xeus:x64-linux=ignore xmlsec:arm-uwp=fail xmlsec:x64-uwp=fail # The xmsh upstream repository is gone, if we find no replacement before @@ -1974,7 +1907,6 @@ xmsh:x64-uwp=skip xmsh:x64-windows-static=skip xmsh:x64-windows=skip xmsh:x86-windows=skip -xtensor-io:x64-uwp=ignore x-plane:arm64-windows=fail x-plane:arm-uwp=fail x-plane:x64-linux=fail |
