ci: derive the browser-smoke shortlist from the diff

Issue: #241
User-Visible: no
This commit is contained in:
Matysh
2026-08-22 18:33:45 +03:00
parent e246d32580
commit 61c401b810
+13 -7
View File
@@ -360,13 +360,19 @@ jobs:
с красным job `docs` до следующей задачи (#237).
По необходимости, и «необходимость» определяется diff'ом и AC:
- браузерные смоки `demo/smoke_*.mjs` — названные в AC плюс
относящиеся к тронутым поверхностям. Их 163; прогон всех уместен
только когда задача действительно задевает всё. Выбирать по теме
недостаточно: регресс #234 поймал `smoke_wall_junctions`, который
по названию про стыки стен, а не про толщину отрезка. Надёжнее
grep — искать в `demo/smoke_*.mjs` имена изменённых функций и
полей, и прогонять найденное;
- браузерные смоки `demo/smoke_*.mjs` — названные в AC плюс те,
что печатает `node scripts/smoke-select.mjs --base <base> --head <head>`.
Их 167; прогон всех уместен только когда задача действительно
задевает всё. Выбирать по теме недостаточно: регресс #234 поймал
`smoke_wall_junctions`, который по названию про стыки стен, а не
про толщину отрезка. Инструмент печатает три вида ответа, и они
разные: «прямое совпадение» — смок называет изменённый символ,
«зарегистрированная связь» — смок проверяет следствие контракта,
не называя его, «НЕОПРЕДЕЛЁННОСТЬ» — связь не доказана, и это не
разрешение ничего не прогонять. Вывод инструмента прикладывается
к комментарию ревью вместе с решением по каждой строке: прогнал
либо не прогнал и почему. Слабые связи (одно распространённое
имя) — повод посмотреть, а не обязанность прогонять;
- `npm run golden:verify` — если diff может изменить видимый
результат: рендер, геометрия, стили, слои;
- `python -m pytest tests_backend -q` — если тронут