Merge nucleic/olive-jade-civet-rznt into dev

This commit is contained in:
2026-07-28 20:41:28 -07:00
parent 200825c1e0
commit c806b792bd
+15 -8
View File
@@ -25,8 +25,11 @@
.PARAMETER Target
protocol — the wire layer only (the required CI leg; needs no SQLite).
core — NucleicCore, the full Windows manifest. EXPECTED TO FAIL until the §12
item 7-9 shims land; its output is the M0 gap list, not a regression.
core — NucleicCore, the full Windows manifest. Builds green as of the §12 item-9
shims; a failure here IS a regression. With -Test it instead runs
NucleicCarbonTests, which builds every declared target (nucleic-hostd,
NucleicProtocolC, nucleic-smoke) — those are §12 items 10+ and may still
fail; that output is what's left of the M0 gap list.
broker — the C# nucleic-brokerd contract tests (no Swift involved).
all — all three, continuing past a failing leg.
@@ -182,7 +185,9 @@ function Build-Protocol([hashtable]$sql) {
function Build-Core([hashtable]$sql) {
Write-Step 'core: building NucleicCore (full Windows manifest)'
Write-Note 'Expected to fail until the §12 item 7-9 shims land — the errors ARE the M0 gap list.'
if ($Test) {
Write-Note '-Test builds EVERY target (hostd, NucleicProtocolC, smoke) — §12 items 10+ may still fail.'
}
# NucleicCore only EXISTS when NUCLEIC_WINDOWS_PROTOCOL_ONLY is absent: with it set,
# Package.swift narrows the manifest to [NucleicProtocol, NucleicProtocolTests] and this
# fails with "no target named 'NucleicCore'". CI never sets it for this job, but a local
@@ -230,14 +235,16 @@ try {
Write-Step 'Summary'
foreach ($k in $results.Keys) {
$ok = $results[$k] -eq 0
# core is the known-failing gap probe; don't report it as a red build.
$label = if ($ok) { 'PASS' } elseif ($k -eq 'core') { 'FAIL (expected — gap list)' } else { 'FAIL' }
$color = if ($ok) { 'Green' } elseif ($k -eq 'core') { 'Yellow' } else { 'Red' }
# `core -Test` still reaches unported targets (§12 items 10+), so only that
# combination is reported as an expected gap rather than a red build.
$gap = ($k -eq 'core') -and $Test
$label = if ($ok) { 'PASS' } elseif ($gap) { 'FAIL (expected — items 10+ gap list)' } else { 'FAIL' }
$color = if ($ok) { 'Green' } elseif ($gap) { 'Yellow' } else { 'Red' }
Write-Host (" {0,-9} {1}" -f $k, $label) -ForegroundColor $color
}
# core's failure is informational; anything else failing is a real build break.
$hard = @($results.Keys | Where-Object { $_ -ne 'core' -and $results[$_] -ne 0 })
$hard = @($results.Keys | Where-Object {
$results[$_] -ne 0 -and -not (($_ -eq 'core') -and $Test) })
if ($hard.Count -gt 0) { exit 1 }
exit 0
} finally {