Skip to content

Commit

Permalink
Bump code coverage (#5700)
Browse files Browse the repository at this point in the history
* Bump code coverage
* Break builds only if coverage drops for 100% projects
  • Loading branch information
RussKie authored Dec 17, 2024
1 parent 7d9d589 commit c08790c
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 12 deletions.
52 changes: 43 additions & 9 deletions eng/scripts/ValidateProjectCoverage.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,16 @@ $Errors = New-Object System.Collections.ArrayList
$Kudos = New-Object System.Collections.ArrayList
$ErrorsMarkdown = @();
$KudosMarkdown = @();
$FatalErrors = 0;
$Warnings = 0;

Write-Verbose "Collecting projects from code coverage report..."
$CoberturaReport.coverage.packages.package | ForEach-Object {
$Name = $_.name
$LineCoverage = [math]::Round([double]$_.'line-rate' * 100, 2)
$BranchCoverage = [math]::Round([double]$_.'branch-rate' * 100, 2)
$IsFailed = $false
$IsWarning = $false

Write-Verbose "Project $Name with line coverage $LineCoverage and branch coverage $BranchCoverage"

Expand All @@ -80,30 +83,50 @@ $CoberturaReport.coverage.packages.package | ForEach-Object {

# Detect the under-coverage
if ($MinCodeCoverage -gt $LineCoverage) {
$IsFailed = $true
if ($MinCodeCoverage -eq 100) {
$ansiEscapeCode = "$esc[1m$esc[0;31m";
$IsFailed = $true
$FatalErrors++;
}
else {
$ansiEscapeCode = "$esc[1m$esc[0;33m";
$IsWarning = $true;
$Warnings++;
}

$ErrorsMarkdown += "| $Name | Line | **$MinCodeCoverage** | $LineCoverage :small_red_triangle_down: |"
[void]$Errors.Add(
(
New-Object PSObject -Property @{
"Project" = $Name.Replace('Microsoft.Extensions.', 'M.E.').Replace('Microsoft.AspNetCore.', 'M.AC.');
"Coverage Type" = "Line";
"Expected" = $MinCodeCoverage;
"Actual" = "$esc[1m$esc[0;31m$($LineCoverage)$esc[0m"
"Actual" = "$($ansiEscapeCode)$($LineCoverage)$esc[0m"
}
)
)
}

if ($MinCodeCoverage -gt $BranchCoverage) {
$IsFailed = $true
if ($MinCodeCoverage -eq 100) {
$ansiEscapeCode = "$esc[1m$esc[0;31m";
$IsFailed = $true
$FatalErrors++;
}
else {
$ansiEscapeCode = "$esc[1m$esc[0;33m";
$IsWarning = $true;
$Warnings++;
}

$ErrorsMarkdown += "| $Name | Branch | **$MinCodeCoverage** | $BranchCoverage :small_red_triangle_down: |"
[void]$Errors.Add(
(
New-Object PSObject -Property @{
"Project" = $Name.Replace('Microsoft.Extensions.', 'M.E.').Replace('Microsoft.AspNetCore.', 'M.AC.');
"Coverage Type" = "Branch";
"Expected" = $MinCodeCoverage;
"Actual" = "$esc[1m$esc[0;31m$($BranchCoverage)$esc[0m"
"Actual" = "$($ansiEscapeCode)$($BranchCoverage)$esc[0m"
}
)
)
Expand All @@ -125,8 +148,9 @@ $CoberturaReport.coverage.packages.package | ForEach-Object {
)
}

if ($IsFailed) { Write-Host "$Name" -NoNewline; Write-Host " ...failed validation" -ForegroundColor Red }
else { Write-Host "$Name" -NoNewline; Write-Host " ...ok" -ForegroundColor Green }
if ($IsWarning) { Write-Host "$Name" -NoNewline; Write-Host " ...missed the mark" -ForegroundColor Yellow }
elseif ($IsFailed) { Write-Host "$Name" -NoNewline; Write-Host " ...failed validation" -ForegroundColor Red }
else { Write-Host "$Name" -NoNewline; Write-Host " ...ok" -ForegroundColor Green }
}
else {
Write-Host "$Name ...skipping"
Expand Down Expand Up @@ -175,10 +199,20 @@ if (![string]::IsNullOrWhiteSpace($markdown)) {
Write-Host $gitHubCommentVar
}

if ($Errors.Count -eq 0)
if ($FatalErrors -gt 0)
{
Write-Host "`r`nBreaking issues detected."
exit -1;
}

if ($Warnings -gt 0)
{
Write-Host "`r`nNon-breaking issues detected."
}

if ($FatalErrors -eq 0)
{
Write-Host "`r`nAll good, no issues found."
Write-Host "`r`nAll good, no issues detected."
exit 0;
}

exit -1;
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<PropertyGroup>
<Stage>preview</Stage>
<SuppressFinalPackageVersion>true</SuppressFinalPackageVersion>
<MinCodeCoverage>72</MinCodeCoverage>
<MinCodeCoverage>77</MinCodeCoverage>
<MinMutationScore>0</MinMutationScore>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<Stage>dev</Stage>
<SuppressFinalPackageVersion>true</SuppressFinalPackageVersion>
<StageDevDiagnosticId>EXTEXP0018</StageDevDiagnosticId>
<MinCodeCoverage>75</MinCodeCoverage>
<MinCodeCoverage>86</MinCodeCoverage>
<MinMutationScore>50</MinMutationScore>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
</PropertyGroup>

<PropertyGroup>
<MinCodeCoverage>70</MinCodeCoverage>
<MinCodeCoverage>76</MinCodeCoverage>
<MinMutationScore>75</MinMutationScore>
</PropertyGroup>

Expand Down

0 comments on commit c08790c

Please sign in to comment.