Я пытаюсь показать значок покрытия. для проекта Python в частной установке Gitlab CE (v11.8.6) с использованием покрытия. py для Python. Однако на значке всегда написано unknown
.
Это соответствующая работа в моем .gitlab-ci.yaml
файле:
coverage:
stage: test
before_script:
- pip3.6 install coverage
- mkdir -p public
script:
- coverage run --source=my_service setup.py test
- coverage report | tee public/coverage.txt
artifacts:
paths:
- public/coverage.txt
coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/'
Я ожидал, что на значке будет отображаться фактическое покрытие по этому URL-адресу, поэтому я ввел это в настройках проекта в разделе _4 _ / _ 5_:
http://<privategitlaburl>/%{project_path}/badges/%{default_branch}/coverage.svg?job=coverage
Я прочитал эти инструкции используя страницы Gitlab. Однако я не хочу использовать страницы только для этой цели, и я имею дело с проектом Python.
Согласно примеру в настройках CI / CD и в этот пост, регулярное выражение в coverage
записи a > должно работать. что я мог подтвердить, попробовав его локально:
$ grep -P "TOTAL\s+\d+\s+\d+\s+(\d+%)" public/coverage.txt
TOTAL 289 53 82%
Я также попробовал то же регулярное выражение в поле Test coverage parsing
в настройках проекта в разделе _10 _ / _ 11_, но значок, показанный на той же странице, продолжает показывать unknown
.
Документация мне не совсем понятна, так как не описывает всю процедуру. Понятно, как использовать значок после создания, и есть руководство по публикации отчета о покрытии на страницах, но, похоже, нет четкого пути от извлечения оценки до отображения значка.
Должен ли я использовать запись coverage
в моем .gitlab-ci.yaml
файле или заполнять регулярное выражение в настройках конвейера?
В любом случае, Gitlab CI должен обновлять значок покрытия на основе этого, или мне нужно использовать дополнительные инструменты, такие как значок покрытия для этого?
Где должен быть сообщен извлеченный балл охвата; как я могу узнать, работает ли мое регулярное выражение?