summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/scripts/Join-CsvReports.ps120
-rw-r--r--Build-Samples.ps116
2 files changed, 17 insertions, 19 deletions
diff --git a/.github/scripts/Join-CsvReports.ps1 b/.github/scripts/Join-CsvReports.ps1
index b3e6cd4f..43e0c826 100644
--- a/.github/scripts/Join-CsvReports.ps1
+++ b/.github/scripts/Join-CsvReports.ps1
@@ -26,12 +26,6 @@ if (-not (Test-Path $logsPath)) {
return
}
-# --- Friendly labels for the known _NT_TARGET_VERSION build tags --------------
-$ntLabel = @{
- '28000' = 'latest'; '26100' = '24H2'; '22621' = '22H2'; '22000' = '21H2'
- '20348' = 'Server 2022'; '19041' = '2004'; '18362' = '1903'; '17763' = '1809'
-}
-
# --- Load every per-job CSV ---------------------------------------------------
# data[sample][tag][combo] = status
$data = @{}
@@ -130,16 +124,15 @@ $csvRows | Export-Csv -Path (Join-Path $logsPath "$reportFileName.csv") -NoTypeI
# --- HTML (colour-coded sample x version matrix) ------------------------------
$generated = Get-Date -Format 'yyyy-MM-dd HH:mm:ss'
-$sumHead = "<tr><th>_NT_TARGET_VERSION</th><th>Release</th><th>Pass</th><th>Flaky</th><th>Partial</th><th>Fail</th><th>n/a</th><th>Combos OK</th><th>Sporadic</th><th>Failed</th><th>Excluded</th><th>Pass rate</th></tr>"
+$sumHead = "<tr><th>_NT_TARGET_VERSION</th><th>Pass</th><th>Flaky</th><th>Partial</th><th>Fail</th><th>n/a</th><th>Combos OK</th><th>Sporadic</th><th>Failed</th><th>Excluded</th><th>Pass rate</th></tr>"
$sumRows = ''
foreach ($t in $tags) {
$x = $totals[$t]; $tot = $x.pass + $x.flaky + $x.partial + $x.fail + $x.na; $elig = $tot - $x.na
$rate = if ($elig -gt 0) { '{0:N0}%' -f (100.0 * ($x.pass + $x.flaky) / $elig) } else { 'n/a' }
- $rel = $ntLabel[$t]; if (-not $rel) { $rel = '' }
- $sumRows += "<tr><td class='sample'>$t</td><td>$rel</td><td class='pass'>$($x.pass)</td><td class='flaky'>$($x.flaky)</td><td class='partial'>$($x.partial)</td><td class='fail'>$($x.fail)</td><td class='na'>$($x.na)</td><td>$($x.S)</td><td>$($x.O)</td><td>$($x.F)</td><td>$($x.E)</td><td><b>$rate</b></td></tr>`n"
+ $sumRows += "<tr><td class='sample'>$t</td><td class='pass'>$($x.pass)</td><td class='flaky'>$($x.flaky)</td><td class='partial'>$($x.partial)</td><td class='fail'>$($x.fail)</td><td class='na'>$($x.na)</td><td>$($x.S)</td><td>$($x.O)</td><td>$($x.F)</td><td>$($x.E)</td><td><b>$rate</b></td></tr>`n"
}
$matHead = "<tr><th class='sample'>Sample</th>"
-foreach ($t in $tags) { $rel = $ntLabel[$t]; if (-not $rel) { $rel = '' }; $matHead += "<th>$t<br><span class='sub'>$rel</span></th>" }
+foreach ($t in $tags) { $matHead += "<th>$t</th>" }
$matHead += "</tr>"
$html = @"
@@ -181,13 +174,12 @@ if ($env:GITHUB_STEP_SUMMARY) {
[void]$md.AppendLine("Columns are **_NT_TARGET_VERSION** (the WDK library version drivers link against). Each version was built for Debug/Release x x64/arm64.")
[void]$md.AppendLine()
[void]$md.AppendLine("## Summary by _NT_TARGET_VERSION")
- [void]$md.AppendLine("| _NT_TARGET_VERSION | Release | :white_check_mark: Pass | :warning: Flaky | :large_orange_diamond: Partial | :x: Fail | :heavy_minus_sign: n/a | Pass rate |")
- [void]$md.AppendLine("|---|---|---:|---:|---:|---:|---:|---:|")
+ [void]$md.AppendLine("| _NT_TARGET_VERSION | :white_check_mark: Pass | :warning: Flaky | :large_orange_diamond: Partial | :x: Fail | :heavy_minus_sign: n/a | Pass rate |")
+ [void]$md.AppendLine("|---|---:|---:|---:|---:|---:|---:|")
foreach ($t in $tags) {
$x = $totals[$t]; $tot = $x.pass + $x.flaky + $x.partial + $x.fail + $x.na; $elig = $tot - $x.na
$rate = if ($elig -gt 0) { '{0:N0}%' -f (100.0 * ($x.pass + $x.flaky) / $elig) } else { 'n/a' }
- $rel = $ntLabel[$t]; if (-not $rel) { $rel = '' }
- [void]$md.AppendLine("| ``$t`` | $rel | $($x.pass) | $($x.flaky) | $($x.partial) | $($x.fail) | $($x.na) | **$rate** |")
+ [void]$md.AppendLine("| ``$t`` | $($x.pass) | $($x.flaky) | $($x.partial) | $($x.fail) | $($x.na) | **$rate** |")
}
[void]$md.AppendLine()
diff --git a/Build-Samples.ps1 b/Build-Samples.ps1
index 861ec39a..e0b1a6b3 100644
--- a/Build-Samples.ps1
+++ b/Build-Samples.ps1
@@ -131,7 +131,7 @@ function Import-SampleExclusions {
param(
[string]$CsvPath,
[int]$BuildNumber,
- [string]$NtTargetVersion = '10.0.28000'
+ [string]$NtTargetVersion
)
if (-not (Test-Path $CsvPath)) {
@@ -140,8 +140,14 @@ function Import-SampleExclusions {
}
# The _NT_TARGET_VERSION param is the friendly build-number form (e.g. '10.0.22000');
- # take its last dotted component for numeric range comparisons.
- $ntBuild = [int]($NtTargetVersion -replace '.*\.', '')
+ # take its last dotted component for numeric range comparisons. An empty value (or
+ # 'latest') means the newest libraries, so no NT-version-scoped row applies.
+ $ntBuild = if ([string]::IsNullOrWhiteSpace($NtTargetVersion) -or $NtTargetVersion -eq 'latest') {
+ [int]::MaxValue
+ }
+ else {
+ [int]($NtTargetVersion -replace '.*\.', '')
+ }
$exclusions = [System.Collections.ArrayList]::new()
Import-Csv $CsvPath | ForEach-Object {
@@ -151,7 +157,7 @@ function Import-SampleExclusions {
$maxBuild = if ([string]::IsNullOrWhiteSpace($_.MaxBuild)) { 99999 } else { [int]$_.MaxBuild }
# Min/MaxNtTargetVersion columns are optional; blank or missing means "all NT versions".
$minNt = if ([string]::IsNullOrWhiteSpace($_.MinNtTargetVersion)) { 0 } else { [int]$_.MinNtTargetVersion }
- $maxNt = if ([string]::IsNullOrWhiteSpace($_.MaxNtTargetVersion)) { 9999999 } else { [int]$_.MaxNtTargetVersion }
+ $maxNt = if ([string]::IsNullOrWhiteSpace($_.MaxNtTargetVersion)) { [int]::MaxValue } else { [int]$_.MaxNtTargetVersion }
# _NT_TARGET_VERSION is constant for the whole run, so (like the build number) filter
# these rows out here at load time.
@@ -205,7 +211,7 @@ function Build-SingleSample {
[string]$SampleName,
[string]$Configuration = 'Debug',
[string]$Platform = 'x64',
- [string]$NtTargetVersionCode = '0xA000012',
+ [string]$NtTargetVersionCode,
[string]$InfVerif_AdditionalOptions = '/samples',
[string]$LogFilesDirectory = (Get-Location),
[bool]$Verbose = $false