В GitLab CI задайте artifacts:when: always и путь к уже созданному HTML-отчёту. Не скрывайте код ошибки тестов через || true ради публикации артефакта.
Как сделать так, чтобы HTML-отчёт публиковался в GitLab CI даже при падении тестов?
В GitLab CI задайте artifacts:when: always и путь к уже созданному HTML-отчёту. Не скрывайте код ошибки тестов через || true ради публикации артефакта.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В GitLab CI задайте artifacts:when: always и путь к уже созданному HTML-отчёту. Не скрывайте код ошибки тестов через || true ради публикации артефакта.
Например, при установленном pytest-html:
tests:
script:
- pytest --html=report.html --self-contained-html
artifacts:
when: always
paths:
- report.html
Job останется неуспешным при падении тестов, но отчёт загрузится, если файл создан и runner дошёл до загрузки артефактов. Timeout и авария runner могут помешать этому. Если отчёт собирается отдельной командой, её выполнение тоже нужно обеспечить после тестов, например через after_script. См. GitLab CI YAML.
Источник: docs.gitlab.com.