Skip to content

CI: закрепить ярус «сломанная первая стадия» для own-check.ps1 (Windows), как это сделано для .sh #313

Description

@PhysShell

Что

Правка кодов возврата первой стадии из PR #312 закреплена ассерцией CI только для scripts/own-check.sh. Эквивалентная ветка в scripts/own-check.ps1 изменена и вычитана, но никогда не исполнялась — ни в CI, ни локально (в контейнере разработки PowerShell отсутствует).

Почему это стоит закрыть

Правка не косметическая. До неё падение первой стадии — сломанная сборка, упавший экстрактор — выходило с кодом 1, то есть с ярусом «проанализировано, есть находки». После смены дефолта Action на fail-on-finding: false это давало зелёную галочку над прогоном, который не проанализировал ничего. В .sh разрыв закрыт и закреплён шагом CI («A broken stage 1 is a hard error, never the "findings" tier»); в .ps1 — закрыт кодом, но не доказан.

Симметрия исходников — довод, а не доказательство. PowerShell-обёртка живёт своей жизнью: $LASTEXITCODE после & dotnet run, поведение при отсутствующем проекте, разница между exit внутри try/finally — всё это места, где зеркальная на вид логика может расходиться с оригиналом.

Что сделать

Шаг в CI на windows-latest, зеркальный существующему Linux-шагу:

# --Root в путь без проекта экстрактора => dotnet run падает с 1
# own-check.ps1 обязан отдать >= 2 (не смотрел), а не 1 (есть находки)

Проверить также, что обычные ярусы не сдвинулись: чисто → 0, находки с -FailOnFinding → 1, находки без него → 0, битый конфиг → 2.

Контекст

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions