22# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
33on :
44 push :
5- branches : [main, master]
5+ branches : [main, master, '*coverage*' ]
66 pull_request :
7- branches : [main, master]
87
9- name : test-coverage
8+ name : test-coverage.yaml
9+
10+ permissions : read-all
1011
1112jobs :
1213 test-coverage :
@@ -15,36 +16,47 @@ jobs:
1516 GITHUB_PAT : ${{ secrets.GITHUB_TOKEN }}
1617
1718 steps :
18- - uses : actions/checkout@v3
19+ - uses : actions/checkout@v4
1920
2021 - uses : r-lib/actions/setup-r@v2
2122 with :
2223 use-public-rspm : true
2324
2425 - uses : r-lib/actions/setup-r-dependencies@v2
2526 with :
26- extra-packages : any::covr
27+ extra-packages : any::covr, any::xml2
2728 needs : coverage
2829
2930 - name : Test coverage
3031 run : |
31- covr::codecov (
32+ cov <- covr::package_coverage (
3233 quiet = FALSE,
3334 clean = FALSE,
34- install_path = file.path(Sys.getenv("RUNNER_TEMP"), "package")
35+ install_path = file.path(normalizePath( Sys.getenv("RUNNER_TEMP"), winslash = "/ "), "package")
3536 )
37+ print(cov)
38+ covr::to_cobertura(cov)
3639 shell : Rscript {0}
3740
41+ - uses : codecov/codecov-action@v5
42+ with :
43+ # Fail if error if not on PR, or if on PR and token is given
44+ fail_ci_if_error : ${{ github.event_name != 'pull_request' || secrets.CODECOV_TOKEN }}
45+ files : ./cobertura.xml
46+ plugins : noop
47+ disable_search : true
48+ token : ${{ secrets.CODECOV_TOKEN }}
49+
3850 - name : Show testthat output
3951 if : always()
4052 run : |
4153 ## --------------------------------------------------------------------
42- find ${{ runner.temp }}/package -name 'testthat.Rout*' -exec cat '{}' \; || true
54+ find ' ${{ runner.temp }}/package' -name 'testthat.Rout*' -exec cat '{}' \; || true
4355 shell : bash
4456
4557 - name : Upload test results
4658 if : failure()
47- uses : actions/upload-artifact@v3
59+ uses : actions/upload-artifact@v4
4860 with :
4961 name : coverage-test-failures
5062 path : ${{ runner.temp }}/package
0 commit comments