Поиск и починка нестабильных тестов в CI по ночам с Claude Code
Автор поручил Claude Code следить за CI, находить самые нестабильные тесты и по ночам предлагать исправления. За несколько недель пайплайн стал короче на 20 минут, доля успешных прогонов выросла на 35%, хотя часть исправлений пришлось выбросить.
Что сделали
Автор дал Claude доступ на чтение к артефактам CI и попросил написать инструменты, которые считают долю успешных и упавших прогонов за скользящие 30 дней. Claude выбирал самые нестабильные тесты, строил гипотезы, виноват ли сам тест или рабочий код, и сужал проблему до минимального воспроизведения. Если надёжно воспроизвести падение не получалось, он предлагал исправление наугад и гонял тесты всю ночь, чтобы оценить его статистически. Днём автор просматривал PR.
Что получилось
За несколько недель пайплайн стал короче на 20 минут, а доля успешных прогонов выросла на 35% (на master она была около 40%). Часть решений Claude оказалась плохой, их пришлось выбросить.
На что обратить внимание
Автору приходилось выбрасывать неудачные исправления, поэтому ночные прогоны требуют дневной проверки человеком. Планируйте просматривать каждый PR сами.
Пояснение
Нестабильный (flaky) тест то проходит, то падает без всяких изменений в коде. Из-за таких тестов прогоны CI краснеют случайно, и им перестают доверять.
Кому пригодится
Разработчикам и командам, у которых CI регулярно падает из-за нестабильных тестов.
Попробуйте сами с Claude Code
Посмотри последние [число] прогонов CI в [название репозитория] и отсортируй тесты по тому, как часто они падают нестабильно. Для [число] самых проблемных воспроизведи падение локально, найди причину и предложи исправление в отдельной ветке. Прогони каждое исправление [число] раз, чтобы убедиться в стабильности, выброси те, что не держатся, и кратко опиши, что сработало. Ничего не мёржи, пока не покажешь мне diff.
Нужна помощь с запуском? Вступайте в сообщество AI Pack ↗
Источник: news.ycombinator.com ·