В GitLab CI пайплайн состоит из двух стадий: первая запускает тесты и выгружает XML-результаты, вторая читает XML и публикует HTML-отчёт. Почему отчёт перестаёт публиковаться, когда тесты падают?

Обычно после падения тестового job следующий job со стандартным when: on_success пропускается, а обычные artifacts могут не загрузиться. Нужно отдельно обеспечить сохранение XML и запуск публикации.

Короткий ответ

Что ответить на собеседовании

Обычно после падения тестового job следующий job со стандартным when: on_success пропускается, а обычные artifacts могут не загрузиться. Нужно отдельно обеспечить сохранение XML и запуск публикации.

Подробный разбор

Ответ с пояснениями

Обычно после падения тестового job следующий job со стандартным when: on_success пропускается, а обычные artifacts могут не загрузиться. Нужно отдельно обеспечить сохранение XML и запуск публикации.

У тестового job настройте artifacts: when: always с корректным путём к созданным XML. У job отчёта — when: always и получение нужных артефактов через согласованные зависимости. Если тестовый процесс не успел создать XML, отчёт должен объяснить отсутствие данных. Не маскируйте падение тестов через безусловный успех: итоговый pipeline должен оставаться красным. Отмена и timeout требуют отдельной проверки поведения runner.

Источник: docs.gitlab.com.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее