Пакет підказок: як розібрати зламаний CI без паніки
Уяви звичний вечір після merge: PR уже злитий, а CI раптом червоний. Не одна помилка, не одна підказка, а стіна шуму. У цей момент найгірше рішення - почати гадати.
Цей пакет підказок допомагає зупинитися, зібрати факти й дійти до наступної перевірки без хаосу. Він корисний, коли потрібно зрозуміти:
- який саме job упав;
- на якому кроці з’явилась перша помилка;
- чи відрізняється поведінка локально від CI;
- що перевірити далі, щоб не ходити колами.
Коли це особливо корисно
- pipeline зламався одразу після merge;
- помилка виглядає як інфраструктурна, але може бути й у коді;
- є кілька job’ів, і незрозуміло, який з них справді першопричина;
- команда вже бачила flaky тести або різницю між локальним і CI середовищем.
Що зібрати перед запитом до AI
Перед тим як просити допомогу, збережи короткий набір фактів:
- назва репозиторію і гілки;
- commit SHA або merge request;
- назва job’а, який упав першим;
- точний текст помилки;
- чи є останній green build;
- чи можна відтворити помилку локально;
- що змінилось у коді, залежностях або змінних середовища.
Чим точніший контекст, тим менше шансів отримати загальну пораду на кшталт “перевірте логи”.
Як читати відповідь
Шукай не красиву теорію, а практичний сигнал:
- якщо модель називає конкретний крок, перевір саме його;
- якщо є різниця між local і CI, це вже окрема гіпотеза;
- якщо відповідь просить логів більше, ніж у тебе є, зупинись і добери саме ці дані;
- якщо причина схожа на flaky test, не витрачай час на повний рефактор до повторної перевірки.
Міні-глосарій
- CI - автоматичний запуск збірки та тестів після змін.
- flaky test - тест, який інколи падає без стабільної причини.
- environment drift - різниця між локальним середовищем і CI.
- first failing step - перший крок, де ланцюг зупинився, а не лише останній червоний рядок.
Для кого це не підходить
Якщо ти вже знаєш точну причину збою, цей пакет підказок буде занадто широким. Він потрібен саме на етапі, коли є червоний run, але немає ще чіткого пояснення, чому він зламався.
Короткий чеклист
- Знайти перший упавший job.
- Скопіювати точний текст помилки.
- Порівняти останній commit з останнім green build.
- Перевірити, чи збій відтворюється локально.
- Вирішити, чи це схоже на код, CI-оточення або нестабільний тест.
Пакет підказок: розібрати зламаний CI без здогадок
Ти допомагаєш мені розібрати зламаний CI. Контекст: - Репозиторій: [вставити] - Гілка / merge request: [вставити] - Commit SHA: [вставити] - Перший job, що впав: [вставити] - Перша помилка або точний фрагмент логів: [вставити] - Що змінилося в останньому коміті: [вставити] - Чи є останній успішний run: [так/ні] - Чи відтворюється локально: [так/ні/не знаю] - Що вже перевірено: [вставити] Зроби таке: 1. Стисло поясни, де саме починається проблема. 2. Відділи ймовірну причину в коді від проблеми середовища або тестової нестабільності. 3. Скажи, який один наступний крок дасть найбільше сигналу. 4. Якщо потрібно, запропонуй 2-3 короткі перевірки в порядку пріоритету. 5. Не вигадуй дані, якщо їх немає в логах.