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