Пакет підказок: як розібрати зламаний CI без паніки

Пакет підказокCIDebuggingDevOps

Готовий пакет підказок для розбору червоного CI: як зібрати логи, знайти перший збій, відділити проблему коду від середовища і вибрати наступну перевірку

Пакет підказок: як розібрати зламаний 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. Не вигадуй дані, якщо їх немає в логах.