使用Very Good Workflows后上传CodeCov文件提示文件不存在求助
解决Very Good Workflows完成后上传CodeCov的文件不存在问题
问题核心在于两个Job属于独立的运行环境,build Job生成的覆盖率文件仅存在于它自身的Runner中,visualize Job重新checkout代码后,自然找不到之前生成的文件。
以下是修改后的可行配置:
name: Flutter CI on: workflow_dispatch: pull_request: branches: - main jobs: build: uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1 with: coverage_excludes: '*.g.dart *.freezed.dart' flutter_channel: 'stable' flutter_version: "3.13.x" test_recursion: true min_coverage: 70 visualize: needs: build runs-on: ubuntu-latest steps: # 下载build Job生成的覆盖率报告 artifact - name: Download coverage report uses: actions/download-artifact@v3 with: name: coverage-report path: coverage/ # 上传到CodeCov - name: Upload coverage report to Codecov uses: codecov/codecov-action@v3 with: files: ./coverage/lcov.info # 指定覆盖率文件路径 env: CODECOV_TOKEN: ${{ secrets.MY_CODECOV_TOKEN }}
关键说明:
- Very Good Workflows的
flutter_package.yml在测试完成后,会自动将coverage/目录上传为名为coverage-report的artifact,我们直接下载即可复用。 visualizeJob无需重新配置Flutter或checkout代码,仅需处理已生成的覆盖率文件。- 如果递归测试生成了多个子包的覆盖率文件,可将
files参数改为./coverage/**/lcov.info,匹配所有子目录下的覆盖率文件。
内容的提问来源于stack exchange,提问作者Joel Broström
相关产品推荐
相关产品推荐

