Skip to content

refactor(ci): одно постоянное имя вместо четырнадцати - #1542

Open
ArtVsMark wants to merge 4 commits into
mainfrom
agent/one-name-instead-of-fourteen
Open

ArtVsMark wants to merge 4 commits into
mainfrom
agent/one-name-instead-of-fourteen

Conversation

@ArtVsMark

Copy link
Copy Markdown
Owner

Переход #1420 доведён до конца. В обязательных проверках защиты main
остаётся один ci-complete; четырнадцать прежних имён — джобы и ячейки
матрицы — убраны из EXPECTED_CHECKS.

ЗАЧЕМ. Имя ячейки несёт версию Python и флаг эксперимента, то есть
меняется от ЧУЖОГО календаря. Выход 3.14 из предрелиза добавил сюда три
строки (#1529), выход 3.15 добавил бы ещё три и убрал другие. Каждый
такой сдвиг правится в ДВУХ местах сразу — в дереве и во внешней
настройке репозитория, — а расходятся они молча: PR начинает ждать
проверку, которой больше нет, и ни один прогон об этом не говорит.
Ровно это правило 168 и не велит держать в обязательных.

ЧТО НЕ ПОТЕРЯНО. Защита от переименования ячейки остаётся: состав
выводит ci_aggregate.expected_checks из того же ci.yml, поэтому
поймает её прогон, а не память. Предрелизные ячейки агрегатор отличает
сам — по суффиксу , true).

ПОЧЕМУ СЕЙЧАС. Порядок перехода менять было нельзя, и он пройден
целиком: агрегатор появился (#1456) → владелец добавил его в
обязательные, ничего не убирая → PR мержились при нём. Последний шаг
доказан на живых случаях, а не обещан: на #1537 и #1540 ci-complete
зелёный при красных ячейках 3.15, на #1528 и #1530 — красный, потому
что там красна обязательная (windows-latest, 3.13 и
ubuntu-latest, 3.14). То есть он и пропускает верное, и держит
неверное.

СМЕНИЛСЯ ПРЕДМЕТ ОДНОЙ ПРОВЕРКИ. check_matrix_names держала список в
соответствии с матрицей, пока имена перечислялись. Теперь находкой
считается ВОЗВРАЩЕНИЕ матричного имени в обязательные: это шаг назад, к
состоянию, где каждый выпуск CPython правится дважды.

ВЛАДЕЛЬЦУ: те же четырнадцать имён нужно убрать из ruleset, оставив
ci-complete. Пока они там, ночная сверка назовёт расхождение —
«обязательных проверок больше заявленного». Это и есть сигнал доделать,
а не поломка гейта.

Closes #1420

Работа сделана вместе: @ArtVsMark — постановка, решения и приёмка; Claude Code — реализация.

Переход #1420 доведён до конца. В обязательных проверках защиты `main`
остаётся один `ci-complete`; четырнадцать прежних имён — джобы и ячейки
матрицы — убраны из `EXPECTED_CHECKS`.

ЗАЧЕМ. Имя ячейки несёт версию Python и флаг эксперимента, то есть
меняется от ЧУЖОГО календаря. Выход 3.14 из предрелиза добавил сюда три
строки (#1529), выход 3.15 добавил бы ещё три и убрал другие. Каждый
такой сдвиг правится в ДВУХ местах сразу — в дереве и во внешней
настройке репозитория, — а расходятся они молча: PR начинает ждать
проверку, которой больше нет, и ни один прогон об этом не говорит.
Ровно это правило 168 и не велит держать в обязательных.

ЧТО НЕ ПОТЕРЯНО. Защита от переименования ячейки остаётся: состав
выводит `ci_aggregate.expected_checks` из того же `ci.yml`, поэтому
поймает её прогон, а не память. Предрелизные ячейки агрегатор отличает
сам — по суффиксу `, true)`.

ПОЧЕМУ СЕЙЧАС. Порядок перехода менять было нельзя, и он пройден
целиком: агрегатор появился (#1456) → владелец добавил его в
обязательные, ничего не убирая → PR мержились при нём. Последний шаг
доказан на живых случаях, а не обещан: на #1537 и #1540 `ci-complete`
зелёный при красных ячейках 3.15, на #1528 и #1530 — красный, потому
что там красна обязательная (`windows-latest, 3.13` и
`ubuntu-latest, 3.14`). То есть он и пропускает верное, и держит
неверное.

СМЕНИЛСЯ ПРЕДМЕТ ОДНОЙ ПРОВЕРКИ. `check_matrix_names` держала список в
соответствии с матрицей, пока имена перечислялись. Теперь находкой
считается ВОЗВРАЩЕНИЕ матричного имени в обязательные: это шаг назад, к
состоянию, где каждый выпуск CPython правится дважды.

ВЛАДЕЛЬЦУ: те же четырнадцать имён нужно убрать из ruleset, оставив
`ci-complete`. Пока они там, ночная сверка назовёт расхождение —
«обязательных проверок больше заявленного». Это и есть сигнал доделать,
а не поломка гейта.

Closes #1420

Co-Authored-By: Artem Markitanov <86671904+ArtVsMark@users.noreply.github.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wqpt9etxi7Hz6dNyhmYfx1
@ArtVsMark ArtVsMark added the merge-when-green Согласие смержить без автора: авто-мерж включится, как позеленеет label Sep 9, 2026
@ArtVsMark
ArtVsMark enabled auto-merge (squash) September 9, 2026 11:54
@ArtVsMark ArtVsMark added queue-frozen Заморозка конвейера: база красная, согласие вернётся само and removed merge-when-green Согласие смержить без автора: авто-мерж включится, как позеленеет labels Sep 9, 2026
@ArtVsMark
ArtVsMark disabled auto-merge September 9, 2026 14:10
@ArtVsMark ArtVsMark added merge-when-green Согласие смержить без автора: авто-мерж включится, как позеленеет queue-frozen Заморозка конвейера: база красная, согласие вернётся само and removed queue-frozen Заморозка конвейера: база красная, согласие вернётся само merge-when-green Согласие смержить без автора: авто-мерж включится, как позеленеет labels Sep 9, 2026
@claude claude Bot added area/ci CI/CD и скрипты (.github/, scripts/) refactor labels Sep 13, 2026
@ArtVsMark ArtVsMark added merge-when-green Согласие смержить без автора: авто-мерж включится, как позеленеет queue-frozen Заморозка конвейера: база красная, согласие вернётся само and removed queue-frozen Заморозка конвейера: база красная, согласие вернётся само merge-when-green Согласие смержить без автора: авто-мерж включится, как позеленеет labels Sep 13, 2026
@ArtVsMark ArtVsMark added merge-when-green Согласие смержить без автора: авто-мерж включится, как позеленеет and removed queue-frozen Заморозка конвейера: база красная, согласие вернётся само labels Sep 17, 2026
@ArtVsMark
ArtVsMark enabled auto-merge (squash) September 17, 2026 10:26
@ArtVsMark ArtVsMark added queue-frozen Заморозка конвейера: база красная, согласие вернётся само and removed merge-when-green Согласие смержить без автора: авто-мерж включится, как позеленеет labels Sep 18, 2026
@ArtVsMark
ArtVsMark disabled auto-merge September 18, 2026 11:11
@ArtVsMark ArtVsMark added merge-when-green Согласие смержить без автора: авто-мерж включится, как позеленеет and removed queue-frozen Заморозка конвейера: база красная, согласие вернётся само labels Sep 19, 2026
@ArtVsMark
ArtVsMark enabled auto-merge (squash) September 19, 2026 11:33
@ArtVsMark ArtVsMark added queue-frozen Заморозка конвейера: база красная, согласие вернётся само and removed merge-when-green Согласие смержить без автора: авто-мерж включится, как позеленеет labels Sep 21, 2026
@ArtVsMark
ArtVsMark disabled auto-merge September 21, 2026 11:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/ci CI/CD и скрипты (.github/, scripts/) queue-frozen Заморозка конвейера: база красная, согласие вернётся само refactor

Projects

None yet

2 participants