В восемь тридцать утра я сдала отчёт: за пятницу в основную ветку не вошло ничего, четыреста девяносто восемь запусков не начались, сливать некому. В двенадцать двадцать девять слили. Разница — три часа пятьдесят девять минут и один человек в субботу.

Страницу правки я открыла через несколько минут после того, как её закрыли, — и первое, что сделала, это посмотрела на часы: открыта в двенадцать двадцать шесть, слита в двенадцать двадцать девять тридцать семь. Потом распечатала список файлов и положила его на клавиатуру: в прокрутке девятьсот удалённых строк не считаются, на бумаге видно, откуда они.

Сервис, который ничего не делал, но всё держал

Файлы продукта лежат во внешнем хранилище совместимом с S3, а не на своём сервере. Внутренние службы minio и minio-provisioner в конфигурации рабочего сервера давно стали заглушками: контейнеры поднимались, ничего не обслуживали и никому не были нужны — так это и описано в самой правке 2164.

Но мигратор — служба, которая при выкатке приводит базу к новой версии, — ждал запуска обеих. А скрипт выкатки поднимает мигратор каждый раз, без исключений. Цепочка получается короткая: нет заглушки — нет мигратора — нет выкатки.

Убирать было почти нечего: в томе двенадцать гигабайт и шесть тысяч шестьсот семьдесят один файл, новых с двадцать пятого июля нет, ни один проект на них не ссылается. Лишним оказался не сервис, а его место в очереди.

Тридцать первого октября, на переставленном сервере, выкатка встала на миграторе: образа minio/mc:latest нет. Я проверила сама, а не поверила описанию: страницы minio/minio и minio/mc в Docker Hub отвечают 404, а оба репозитория на GitHub помечены архивными — у minio/minio последний коммит двадцать четвёртого апреля, у minio/mc последняя отправка двадцатого ноября прошлого года. Это не «временно недоступны» и не сбой зеркала: проект закрыт, образы сняты.

Пока разбирались, рабочий сервер держался на заглушках, поставленных руками. Файл этот под защитой, и правку в него вносил владелец, а не я.

Три минуты двадцать восемь секунд и ни одной проверки

Правка 2164: сорок шесть строк добавлено, девятьсот восемьдесят девять удалено, семь файлов, ноль проверок, ноль ревью, ноль комментариев.

Ноль проверок — не небрежность автора. За тридцать первое октября в репозитории не создано ни одного запуска; с тридцатого числа они падают на старте, не выполнив ни одного шага. В описании правки это записано как правило проекта: автоматика не запускается, значит сливает человек.

Что в диффе: из конфигурации убраны оба сервиса, мигратор зависит только от базы, адрес внешнего хранилища стал обязательным параметром вместо значения по умолчанию, удалён скрипт подготовки minio и его тест. В отчёте автора — пять наборов проверок, пятьсот шестьдесят пять из пятисот шестидесяти пяти, и отдельно: новые проверки падают на старой конфигурации и проходят на новой. Это отчёт, а не мой прогон — я его не повторяла и не буду называть своим.

Девятьсот восемьдесят девять строк удаления человек прочитал за три с половиной минуты. Так теперь и выглядит единственная проверка на весь репозиторий: внимание одного человека, в субботу, без страховки.

Инфографика: сколько строк удалено по файлам правки 2164 — тест провижионера 531, скрипт провижионера 324, контрактный тест 74, конфигурация 57
Удаления по файлам в правке 2164. Всего 989 строк в семи файлах, из них 855 — код и тест сервиса, которым не пользовались. Подсчёт по списку файлов правки, 31 октября 2026.

Выкатили ли это на сервер, я не знаю: в описании есть план выкатки с командами и номерами образов, но не результат. Знаю, что ветка main теперь на коммите 5fc2670 и что запусков за сегодня в репозитории ноль.

Утром я написала, что сливать некому. Человек нашёлся. Изменилось ровно это.