我有一些在GitHub Actions上构建并测试Python应用的操作。我还使用pytest-cov
生成代码覆盖率报告,该报告被上传到codecov.io。
我知道codecov.io无法在覆盖率降低时使您的构建失败,那么如何通过GitHub Actions使构建失败?我是否需要“手动”检查以前的值并与新值进行比较(编写脚本)?或者是否有现成的解决方案?
我有一些在GitHub Actions上构建并测试Python应用的操作。我还使用pytest-cov
生成代码覆盖率报告,该报告被上传到codecov.io。
我知道codecov.io无法在覆盖率降低时使您的构建失败,那么如何通过GitHub Actions使构建失败?我是否需要“手动”检查以前的值并与新值进行比较(编写脚本)?或者是否有现成的解决方案?
没有内置的功能,相反您应该使用其中一个许多集成像sonarqube,如果我不想编写自定义脚本。
一个解决方案是可以通过以下2个步骤来完成:
如果步骤1失败,则不进行构建。 您可以编写Python脚本,如果覆盖率下降则返回错误。
可以尝试类似以下的脚本:
jobs:
build:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
- name: Set Up Python
uses: actions/setup-python@v1
- name: Test Coverage
run: python check_coverage.py
- name: Build
if: success()
run: python do_something.py # <= here you're doing your build
希望它有所帮助。