gitlab中的覆盖徽章未知

Posted

技术标签:

【中文标题】gitlab中的覆盖徽章未知【英文标题】:Coverage badge in gitlab is unknown 【发布时间】:2022-01-20 08:45:56 【问题描述】:

我正在尝试为 GitLab 上的 python 项目设置覆盖徽章。 我一直在关注这个question,但它仍然无法正常工作。

目前我在"CI/CD"/jobs 页面看到这个:

但是当我去Settings/"CI-CD"/General pipelines时,覆盖率报告仍然未知:

这就是我在.gitlab-ci.yml 文件中定义覆盖运行的方式:

tests:
  stage: test
  only:
    - merge_requests
  script:
    - pip install poetry
    - poetry install
    - poetry run coverage run -m pytest
    - poetry run coverage report
    - poetry run coverage xml
  artifacts:
    paths: [coverage.xml]

有什么想法可能需要进行不同的设置吗?

【问题讨论】:

你的测试覆盖率是在主分支中确定的吗?您在“设置/CI-CD/常规管道”下的徽章屏幕截图显示了主分支。 我更新了问题,所以现在它还包括带有覆盖步骤 @JakobLiskow 的 ci 作业。但一切都合并到main 分支 【参考方案1】:

好吧,看来我还需要将-main 添加到我的only 的一部分.gitlab-ci.yml,然后它就可以工作了。我只是希望我可以在不运行两次测试的情况下拥有它(在 MR 到 main 之前和之后)。

【讨论】:

以上是关于gitlab中的覆盖徽章未知的主要内容,如果未能解决你的问题,请参考以下文章

工作服徽章显示为“未知”

本地通知中的应用程序图标徽章是不是会被推送通知有效负载徽章覆盖?

使用 gitlab-ci.yml 文件的代码覆盖率报告

gitlab增量代码覆盖率

使用 curl 从 GitLab 覆盖文件

GitLab 测试覆盖率可视化不适用于一个简单的示例