aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Ranke <jranke@uni-bremen.de>2024-11-17 15:48:05 +0100
committerJohannes Ranke <jranke@uni-bremen.de>2024-11-17 15:48:05 +0100
commitaa5045c8bb5feca1d74e12e621eafbc84bf5b522 (patch)
tree18b21879671a8c4901a0083afd98762a8ad4e72e
parentd202b127909669c484bc74bb87d629f9e3bea299 (diff)
Test coverage using github workflow
With the current travis configuration, installation of covr failed, presumably because of the use of the Xenial distribution which is rather outdated meanwhile. The error occurred when installation of curl was attempted on travis: Error: C++17 standard requested but CXX17 is not defined
-rw-r--r--.Rbuildignore2
-rw-r--r--.github/.gitignore1
-rw-r--r--.github/workflows/test-coverage.yaml61
-rw-r--r--.travis.yml4
-rw-r--r--README.md2
-rw-r--r--codecov.yml14
6 files changed, 79 insertions, 5 deletions
diff --git a/.Rbuildignore b/.Rbuildignore
index f0b4d3d..f84e599 100644
--- a/.Rbuildignore
+++ b/.Rbuildignore
@@ -9,3 +9,5 @@ README.html
.travis.yml
experimental
test.log$
+^codecov\.yml$
+^\.github$
diff --git a/.github/.gitignore b/.github/.gitignore
new file mode 100644
index 0000000..2d19fc7
--- /dev/null
+++ b/.github/.gitignore
@@ -0,0 +1 @@
+*.html
diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml
new file mode 100644
index 0000000..e050312
--- /dev/null
+++ b/.github/workflows/test-coverage.yaml
@@ -0,0 +1,61 @@
+# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
+# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
+on:
+ push:
+ branches: [main, master]
+ pull_request:
+
+name: test-coverage.yaml
+
+permissions: read-all
+
+jobs:
+ test-coverage:
+ runs-on: ubuntu-latest
+ env:
+ GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - uses: r-lib/actions/setup-r@v2
+ with:
+ use-public-rspm: true
+
+ - uses: r-lib/actions/setup-r-dependencies@v2
+ with:
+ extra-packages: any::covr, any::xml2
+ needs: coverage
+
+ - name: Test coverage
+ run: |
+ cov <- covr::package_coverage(
+ quiet = FALSE,
+ clean = FALSE,
+ install_path = file.path(normalizePath(Sys.getenv("RUNNER_TEMP"), winslash = "/"), "package")
+ )
+ covr::to_cobertura(cov)
+ shell: Rscript {0}
+
+ - uses: codecov/codecov-action@v4
+ with:
+ # Fail if error if not on PR, or if on PR and token is given
+ fail_ci_if_error: ${{ github.event_name != 'pull_request' || secrets.CODECOV_TOKEN }}
+ file: ./cobertura.xml
+ plugin: noop
+ disable_search: true
+ token: ${{ secrets.CODECOV_TOKEN }}
+
+ - name: Show testthat output
+ if: always()
+ run: |
+ ## --------------------------------------------------------------------
+ find '${{ runner.temp }}/package' -name 'testthat.Rout*' -exec cat '{}' \; || true
+ shell: bash
+
+ - name: Upload test results
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: coverage-test-failures
+ path: ${{ runner.temp }}/package
diff --git a/.travis.yml b/.travis.yml
index 712829e..862f118 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,7 +3,3 @@ cache: packages
r:
- release
- devel
-github_packages:
- - r-lib/covr
-after_success:
- - Rscript -e 'covr::codecov()'
diff --git a/README.md b/README.md
index fcb931f..758952d 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
[![](https://www.r-pkg.org/badges/version/chemCal)](https://cran.r-project.org/package=chemCal)
[![Build
Status](https://app.travis-ci.com/jranke/chemCal.svg?token=Sq9VuYWyRz2FbBLxu6DK&branch=main)](https://app.travis-ci.com/jranke/chemCal)
-[![codecov](https://codecov.io/github/jranke/chemCal/branch/master/graphs/badge.svg)](https://codecov.io/github/jranke/chemCal)
+[![Codecov test coverage](https://codecov.io/gh/jranke/chemCal/graph/badge.svg)](https://app.codecov.io/gh/jranke/chemCal)
<!-- badges: end -->
## Overview
diff --git a/codecov.yml b/codecov.yml
new file mode 100644
index 0000000..04c5585
--- /dev/null
+++ b/codecov.yml
@@ -0,0 +1,14 @@
+comment: false
+
+coverage:
+ status:
+ project:
+ default:
+ target: auto
+ threshold: 1%
+ informational: true
+ patch:
+ default:
+ target: auto
+ threshold: 1%
+ informational: true

Contact - Imprint