Шаг был зелёным, но не проверял ничего: распознавание на раннере работает, а шаблон искал число сразу после стрелки, тогда как в выводе между ними стоит русское слово («-> блоков 29»). Совпадения не было, и шаг выходил с предупреждением вместо проверки. RenderTest теперь печатает итог машиночитаемой строкой RESULT — так же, как selftest. Отсутствие этой строки считается провалом: значит конвейер не доработал до конца. Пропуск остался только для случая, когда на машине нет языкового пакета распознавания. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -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 поехали — либо всё слиплось, либо рассыпалось.
|
||||
|
||||
@@ -30,7 +30,11 @@
|
||||
|
||||
## Установка
|
||||
|
||||
Скопировать папку `dist` куда угодно и запустить `ScreenTranslator.exe`. Всё.
|
||||
Скачать `ScreenTranslator.zip` из [релизов](../../releases), распаковать куда угодно и запустить
|
||||
`ScreenTranslator.exe`. Всё — установщика нет, программа живёт в трее.
|
||||
|
||||
Релиз `latest` пересобирается автоматически при каждом изменении в `master`, так что по этой
|
||||
ссылке всегда лежит свежая сборка. Релизы с номером версии остаются неизменными.
|
||||
|
||||
Если Windows покажет «SmartScreen защитил ваш компьютер» — «Подробнее» → «Выполнить в любом случае»
|
||||
(файл без цифровой подписи).
|
||||
|
||||
@@ -227,6 +227,12 @@ namespace ScreenTranslator
|
||||
if (missed.Count > 0) Console.WriteLine("не найдено: " + string.Join(", ", missed));
|
||||
}
|
||||
|
||||
// Итог латиницей и в фиксированном формате — по нему сборщик решает, не поехала ли
|
||||
// сегментация. Человеческую сводку выше он разбирать не может: кодировка временного
|
||||
// скрипта у раннера портит кириллицу, и любой шаблон с русским словом промахивается.
|
||||
Console.WriteLine("RESULT lines={0} blocks={1} translated={2}",
|
||||
lines.Count, blocks.Count, blocks.Count(b => b.Translated != null));
|
||||
|
||||
Console.WriteLine("\nкартинки: " + outDir);
|
||||
frame.Image.Dispose();
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user