fix(ci): в защите ветки пятнадцать обязательных проверок вместо одной — матричные имена рядом с ci-complete
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 42/100
Research direction
Start by reading .github/workflows/ci-complete.yml and checking whether existing tests verify that it waits for all checks and rejects a mismatch with the required status name. The issue also requires changing the branch-protection settings outside the repository, so confirm you have access before taking it on. Done means only ci-complete is required, adding a matrix version does not require settings changes, and a test catches a name mismatch.
Written by the indexing model from the issue text.
Description
Что в защите сейчас
Набор правил «main: зелёный CI на актуальном состоянии», обязательных проверок
пятнадцать:
ci-complete ← правильный агрегат
docs-guardrails
static
supply-chain
sandbox-linux
e2e
test (ubuntu-latest, 3.12, false) test (ubuntu-latest, 3.13, false)
test (windows-latest, 3.12, false) test (windows-latest, 3.13, false)
test (macos-latest, 3.12, false) test (macos-latest, 3.13, false)
test (ubuntu-latest, 3.14, false) test (windows-latest, 3.14, false)
test (macos-latest, 3.14, false)
Почему это дефект
Правило каталога
168
называет признак нарушения дословно: «список обязательных проверок длиннее
одного имени — или в нём стоит имя, собранное из параметров матрицы». Здесь оба
признака сразу.
Механизм при этом сделан правильно. ci-complete.yml собирает вердикт
опросом проверок на голове изменения, а не через needs:; группа отмены
включает head.sha (179).
Не сделано ровно одно — список в настройках не почищен, и хвост сводит
агрегат на нет.
Это уже стоило ручной работы
В списке видны test (…, 3.14, false) — три имени, дописанные руками при
добавлении Python 3.14. Ровно та работа, которой агрегат и заведён избежать.
Дороже другое: переименование или удаление ячейки матрицы даст вечное
ожидание. Список потребует имя, которого никто не выдаёт, а это не краснеет —
это виснет, и снаружи неотличимо от «проверки ещё идут». У глоссария такое
состояние остановило слияния полностью при одиннадцати зелёных проверках.
Починка
Правка настроек, не кода: Settings → Rules → «main: зелёный CI на актуальном
состоянии» → Require status checks to pass → снять четырнадцать имён, оставить
ci-complete.
Удаление лишних имён безопасно и порядка не требует: агрегат остаётся и
покрывает их. Осторожность нужна при переименовании обязательного имени, а
здесь его нет.
strict остаётся включённым.
Что проверить до снятия
-
ci-completeдействительно ждёт все проверки, а не только
завершившиеся: пустой или неполный список означает «CI не стартовал», а не
«зелено»
(010); - совпадение имени
ci-completeс настройкой держится тестом, а не
памятью: настройка живёт вне дерева, её не видит ни ревью, ни прогон.
Если такого теста нет — он и есть главная часть этой задачи.
Готово, когда
- в защите ровно одно имя —
ci-complete; - добавление версии в матрицу больше не требует правки настроек — проверено
прогоном, а не рассуждением
(139); - расхождение имени в настройке и в дереве ловится тестом, то есть проверено
тем, что он обязан отвергнуть
(140).
Откуда находка
Сверка конвейеров пяти проектов 09.09 в рамках
ArtVsMark/Engineering-Pipeline-Mechanisms#2. У соседей список правильный: у
витрины и квот PR check, у глоссария check PR — по одному имени. Грейдер
единственный, у кого он длиннее одного.
Generated by Claude Code
- Dominant language
- Python
- Stars
- 3
- Forks
- 6
- Avg merge
- 4h 7m
- Merged PRs (30d)
- 49
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ArtVsMark/Stepik-Python-Grader
-
Difficulty 2/5 1-3 hours Newbie friendliness 48/100
ArtVsMark/Stepik-Python-Grader#1636 ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 Half a day Newbie friendliness 35/100
ArtVsMark/Stepik-Python-Grader#1635 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 18/100
ArtVsMark/Stepik-Python-Grader#1634 ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 32/100
ArtVsMark/Stepik-Python-Grader#1633 ·
Maintainers usually reply within 1 day
-
Каталог v1.12.0: Python 3.14 / 3.15 / 3.16 — 3.15 в основной CI, 3.16 в python-next, подъём действийOpen
Difficulty 3/5 1-2 days Newbie friendliness 30/100
ArtVsMark/Stepik-Python-Grader#1632 ·
Maintainers usually reply within 1 day
All issues in ArtVsMark/Stepik-Python-Grader
Similar issues
-
area:docs documentation effort:M ready-for-agent
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
mczielinski/ob-analytics#423 ·
Maintainers usually reply within 1 day
-
needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
gke-labs/kube-agents#4838 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
danyuchn/asd-ste100-skill#60 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 64/100
Gathin23/cleanyourtv#3299 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
autowarefoundation/autoware_carla_scenario#1485 ·
Maintainers usually reply within 1 day