fix(ci): give nightly mutation shards headroom and report cancellation accurately

Split the full registry into ten shards without increasing the one-hour
limit. Preserve summary and step outcome separately so cancellation after
194/194 remains red without claiming the summary was missing.

Issue: #795
User-Visible: no
This commit is contained in:
Matysh
2026-10-05 11:04:29 +03:00
parent 865312e0b0
commit aef02229c6
5 changed files with 88 additions and 37 deletions
+5 -3
View File
@@ -46,13 +46,15 @@ golden, а то, чего автоматика не видит, собрано
`no-new-private-writes`, остальное — ревью (раздел ниже).
Проверка: `node scripts/mutation-gate.mjs --check` — якоря патчей живы;
полный прогон — workflow `mutation-gate.yml` (шесть чересполосных шардов
`--shard=i/6` — при четырёх шард упёрся в потолок 60 минут, #604; число мутантов
полный прогон — workflow `mutation-gate.yml` (десять чересполосных шардов
`--shard=i/10` — при четырёх, а затем и шести шардах реестр упёрся в потолок
60 минут, #604/#795; число мутантов
считает `npm run inventory`, а не этот текст;
один зафиксированный commit/tree для всего прогона; каждый артефакт несёт
identity и исход шага прогона, а отдельный агрегатор fail-closed отвергает
смешанные, неполные или прерванные по таймауту evidence даже при частичном
rerun; лог шарда считается зелёным только с итоговой строкой `поймано N из M`)
rerun; лог шарда считается зелёным только с итоговой строкой `поймано N из M`
и успешным исходом шага — отмена даже после итогов остаётся отказом)
каждую ночь по расписанию (00:43 UTC); в
релизном гейте он не участвует — проверяет тесты, а не продукт; отказ сам
заводит issue с отчётом (#472, #513). С #620 ночь по расписанию на дереве, уже