【发布时间】:2022-01-03 19:50:14
【问题描述】:
在我参与的一个项目中,我们的管道旨在在多个不同版本的 python 上并行运行工作服:
Github Action yaml
matrix:
include:
- python-version: 2.7
tox-env: py27
- python-version: 3.6
tox-env: py36
- python-version: 3.7
tox-env: py37,docs,readme,black
- python-version: 3.8
tox-env: py38
- python-version: 3.9
tox-env: py39
- python-version: pypy3
tox-env: pypy3
...
- name: Coverage format into lcov
if: ${{ matrix.python-version != '2.7' }}
run: |
coverage-lcov --output_file_path lcov.info
我可以理解为什么要针对相关技术的多个版本运行单元和功能测试,但是代码覆盖率,我无法真正找到一个很好的理由来继续针对所有不同版本的 python 运行。我发现针对多个版本运行此程序并没有显示任何有用的信息,除了相关线路计算中的微小差异导致管道中的无意义故障之外。
针对 3.8 和更高版本运行 coverallsapp(github 操作),导致计算返回的“相关”行比针对 3.7 和更小版本的相同代码更多。我认为,由于报告代码覆盖率降低了 -0.0%,这导致了管道故障,在详细查看实际报告之后,这是一个毫无意义的结果。
只是想提出这个问题,以确定针对这么多版本的 python 运行代码覆盖是否有任何真正的好处。
【问题讨论】:
标签: python continuous-integration code-coverage github-actions coveralls