CI: починить гейт сегментации, он молча пропускался
build / build (push) Successful in 7s

Шаг был зелёным, но не проверял ничего: распознавание на раннере работает,
а шаблон искал число сразу после стрелки, тогда как в выводе между ними
стоит русское слово («-> блоков 29»). Совпадения не было, и шаг выходил
с предупреждением вместо проверки.

RenderTest теперь печатает итог машиночитаемой строкой RESULT — так же, как
selftest. Отсутствие этой строки считается провалом: значит конвейер не
доработал до конца. Пропуск остался только для случая, когда на машине нет
языкового пакета распознавания.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-27 16:02:31 +03:00
parent 0e515604db
commit 12f974571c
3 changed files with 15 additions and 6 deletions
+4 -5
View File
@@ -79,15 +79,14 @@ jobs:
$out = & .\dist\RenderTest.exe --in .\dist\sample.png --out .\dist\ci --no-translate 2>&1 | Out-String
Write-Host $out
# Латиница в шаблонах намеренно — см. примечание о кодировке выше.
if ($out -match 'OCR\s+\S*\s*=?\s*$' -or $out -match 'exit code 2') {
if ($LASTEXITCODE -eq 2) {
Write-Host '::warning::no OCR language pack on the runner - frame check skipped'
exit 0
}
if ($out -notmatch '->\s*(\d+)') {
Write-Host '::warning::no block count in output - frame check skipped'
exit 0
if ($out -notmatch 'RESULT lines=(\d+) blocks=(\d+)') {
throw "RenderTest produced no RESULT line - the pipeline did not finish"
}
$blocks = [int]$Matches[1]
$blocks = [int]$Matches[2]
Write-Host "blocks detected: $blocks"
# На этом кадре стабильно выходит 27-29 блоков. Резкое расхождение означает, что
# правки в Blocks.cs поехали — либо всё слиплось, либо рассыпалось.