From 272b3863d1463dfaf62c6e06ea22610c0540237f Mon Sep 17 00:00:00 2001 From: Johannes Ranke Date: Sun, 28 Jul 2024 09:25:18 +0200 Subject: Make sure test work on my desktop, skip more tests on travis --- DESCRIPTION | 2 +- log/test.log | 16 ++++++++-------- tests/testthat/test_mixed.R | 2 ++ 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 6aa012b5..3c1c4f7d 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -36,4 +36,4 @@ VignetteBuilder: knitr BugReports: https://github.com/jranke/mkin/issues/ URL: https://pkgdown.jrwb.de/mkin/ Roxygen: list(markdown = TRUE) -RoxygenNote: 7.3.1 +RoxygenNote: 7.3.2 diff --git a/log/test.log b/log/test.log index e92a7409..0bd7338d 100644 --- a/log/test.log +++ b/log/test.log @@ -6,26 +6,26 @@ ✔ | 3 | Export dataset for reading into CAKE ✔ | 6 | Use of precompiled symbols in mkinpredict [3.1s] ✔ | 12 | Confidence intervals and p-values -✔ | 1 12 | Dimethenamid data from 2018 [13.0s] +✔ | 1 12 | Dimethenamid data from 2018 [13.3s] ✔ | 14 | Error model fitting [2.6s] ✔ | 5 | Time step normalisation ✔ | 4 | Calculation of FOCUS chi2 error levels ✔ | 14 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ✔ | 4 | Test fitting the decline of metabolites from their maximum ✔ | 1 | Fitting the logistic model -✔ | 10 | Batch fitting and diagnosing hierarchical kinetic models [19.7s] -✔ | 2 16 | Nonlinear mixed-effects models [144.7s] +✔ | 10 | Batch fitting and diagnosing hierarchical kinetic models [19.1s] +✔ | 2 16 | Nonlinear mixed-effects models [148.9s] ✔ | 3 | Test dataset classes mkinds and mkindsg ✔ | 10 | Special cases of mkinfit calls ✔ | 3 | mkinfit features ✔ | 8 | mkinmod model generation and printing ✔ | 3 | Model predictions with mkinpredict -✔ | 12 | Multistart method for saem.mmkin models [23.3s] +✔ | 12 | Multistart method for saem.mmkin models [23.1s] ✔ | 16 | Evaluations according to 2015 NAFTA guidance [1.5s] -✔ | 9 | Nonlinear mixed-effects models with nlme [3.7s] -✔ | 15 | Plotting [4.5s] +✔ | 9 | Nonlinear mixed-effects models with nlme [3.8s] +✔ | 15 | Plotting [4.6s] ✔ | 4 | Residuals extracted from mkinfit models -✔ | 1 38 | saemix parent models [34.8s] +✔ | 1 38 | saemix parent models [35.5s] ✔ | 2 | Complex test case from Schaefer et al. (2007) Piacenza paper ✔ | 11 | Processing of residue series ✔ | 10 | Fitting the SFORB model [1.7s] @@ -37,7 +37,7 @@ ✔ | 2 | water-sediment ══ Results ═════════════════════════════════════════════════════════════════════ -Duration: 262.3 s +Duration: 267.0 s ── Skipped tests (4) ─────────────────────────────────────────────────────────── • Fitting this ODE model with saemix takes about 5 minutes on my new system diff --git a/tests/testthat/test_mixed.R b/tests/testthat/test_mixed.R index d8ad4417..b9715096 100644 --- a/tests/testthat/test_mixed.R +++ b/tests/testthat/test_mixed.R @@ -89,6 +89,7 @@ test_that("saemix results are reproducible for biphasic fits", { test_that("Reading spreadsheets, finding ill-defined parameters and covariate modelling", { skip_on_cran() + skip_on_travis() data_path <- system.file( "testdata", "lambda-cyhalothrin_soil_efsa_2014.xlsx", @@ -115,6 +116,7 @@ test_that("Reading spreadsheets, finding ill-defined parameters and covariate mo test_that("SFO-SFO saemix specific analytical solution work", { skip_on_cran() + skip_on_travis() SFO_SFO <- mkinmod(DMTA = mkinsub("SFO", "M23"), M23 = mkinsub("SFO"), quiet = TRUE) -- cgit v1.2.1 From db43ba615c9084963f743df86512bd92ac88c8af Mon Sep 17 00:00:00 2001 From: Johannes Ranke Date: Sun, 28 Jul 2024 18:56:54 +0200 Subject: Move coverage report from travis to github actions --- .Rbuildignore | 2 ++ .github/.gitignore | 1 + .github/workflows/test-coverage.yaml | 61 ++++++++++++++++++++++++++++++++++++ .travis.yml | 3 -- README.md | 5 ++- codecov.yml | 14 +++++++++ 6 files changed, 82 insertions(+), 4 deletions(-) create mode 100644 .github/.gitignore create mode 100644 .github/workflows/test-coverage.yaml create mode 100644 codecov.yml diff --git a/.Rbuildignore b/.Rbuildignore index e7cbe786..1a243475 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -35,3 +35,5 @@ ^vignettes/web_only/.*$ ^.*\.Rproj$ ^\.Rproj\.user$ +^codecov\.yml$ +^\.github$ diff --git a/.github/.gitignore b/.github/.gitignore new file mode 100644 index 00000000..2d19fc76 --- /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 00000000..fefc52e2 --- /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: + branches: [main, master] + +name: test-coverage + +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_ci_if_error: ${{ github.event_name != 'pull_request' && true || false }} + 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 61b56979..006ba521 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,6 +24,3 @@ script: after_failure: - ./run.sh dump_logs - -after_success: - - travis_wait 40 ./run.sh coverage diff --git a/README.md b/README.md index 98e3d0a7..dee59ed9 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,12 @@ # mkin + [![](https://www.r-pkg.org/badges/version/mkin)](https://cran.r-project.org/package=mkin) [![mkin status badge](https://jranke.r-universe.dev/badges/mkin)](https://jranke.r-universe.dev/ui/#package:mkin) [![Build Status](https://app.travis-ci.com/jranke/mkin.svg?token=Sq9VuYWyRz2FbBLxu6DK&branch=main)](https://app.travis-ci.com/jranke/mkin) -[![codecov](https://codecov.io/github/jranke/mkin/branch/main/graphs/badge.svg)](https://app.codecov.io/gh/jranke/mkin) +[![Codecov test coverage](https://codecov.io/gh/jranke/mkin/branch/main/graph/badge.svg)](https://app.codecov.io/gh/jranke/mkin?branch=main) + + The [R](https://www.r-project.org) package **mkin** provides calculation routines for the analysis of chemical degradation data, including multicompartment kinetics as diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 00000000..04c55859 --- /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 -- cgit v1.2.1 From bad2f70c18cd9f57c0d382914327613bcfc9298f Mon Sep 17 00:00:00 2001 From: Johannes Ranke Date: Mon, 29 Jul 2024 08:06:08 +0200 Subject: Move coverage to pkgdown docs The coverage report is neither successful on Travis nor in the github workflow set up with the usethis package. Therefore the code coverage report is generated locally and linked into the pkgdown docs. --- .github/workflows/test-coverage.yaml | 61 -- GNUmakefile | 3 +- NEWS.md | 4 +- README.md | 2 - _pkgdown.yml | 3 + docs/404.html | 112 ++-- docs/articles/index.html | 129 ++-- docs/articles/mkin.html | 136 ++-- docs/authors.html | 124 ++-- docs/index.html | 136 ++-- docs/news/index.html | 117 ++-- docs/reference/BIC.mmkin.html | 8 + docs/reference/FOCUS_2006_A.html | 8 + docs/reference/FOCUS_2006_B.html | 8 + docs/reference/FOCUS_2006_C.html | 8 + docs/reference/FOCUS_2006_D.html | 8 + docs/reference/FOCUS_2006_E.html | 8 + docs/reference/FOCUS_2006_F.html | 8 + docs/reference/NAFTA_SOP_Appendix_B.html | 8 + docs/reference/NAFTA_SOP_Appendix_D.html | 8 + docs/reference/Rplot001.png | Bin 13993 -> 1011 bytes docs/reference/[.mhmkin.html | 8 + docs/reference/aw.mixed.mmkin.html | 8 + docs/reference/aw.mkinfit.html | 8 + docs/reference/aw.mmkin.html | 8 + docs/reference/aw.multistart.html | 8 + docs/reference/backtransform_odeparms.html | 8 + docs/reference/best.default.html | 8 + docs/reference/best.html | 8 + docs/reference/check_failed.html | 100 +++ docs/reference/ds_dfop.html | 8 + docs/reference/ds_dfop_sfo.html | 8 + docs/reference/ds_fomc.html | 8 + docs/reference/ds_hs.html | 8 + docs/reference/ds_sfo.html | 8 + docs/reference/f_time_norm_focus.mkindsg.html | 8 + docs/reference/f_time_norm_focus.numeric.html | 8 + docs/reference/hierarchical_kinetics.html | 125 ++-- docs/reference/html_listing.html | 8 + docs/reference/illparms.mhmkin.html | 8 + docs/reference/illparms.mkinfit.html | 8 + docs/reference/illparms.mmkin.html | 8 + docs/reference/illparms.saem.mmkin.html | 8 + docs/reference/index.html | 725 ++++++++++++---------- docs/reference/intervals.html | 8 + docs/reference/invilr.html | 8 + docs/reference/loftest.mkinfit.html | 8 + docs/reference/lrtest.html | 8 + docs/reference/lrtest.mmkin.html | 8 + docs/reference/max_twa_dfop.html | 8 + docs/reference/max_twa_fomc.html | 8 + docs/reference/max_twa_hs.html | 8 + docs/reference/max_twa_sfo.html | 8 + docs/reference/mhmkin.list.html | 8 + docs/reference/mhmkin.mmkin.html | 8 + docs/reference/mixed.mmkin.html | 8 + docs/reference/mkinpredict.mkinfit.html | 8 + docs/reference/mkinpredict.mkinmod.html | 8 + docs/reference/mkinsub.html | 234 +------ docs/reference/multistart.saem.mmkin.html | 8 + docs/reference/nlme_data.html | 8 + docs/reference/parms.mkinfit.html | 8 + docs/reference/parms.mmkin.html | 8 + docs/reference/parms.multistart.html | 8 + docs/reference/parms.saem.mmkin.html | 8 + docs/reference/parplot.multistart.saem.mmkin.html | 8 + docs/reference/plot_err.html | 8 + docs/reference/plot_res.html | 8 + docs/reference/plot_sep.html | 8 + docs/reference/print.illparms.mhmkin.html | 8 + docs/reference/print.illparms.mkinfit.html | 8 + docs/reference/print.illparms.mmkin.html | 8 + docs/reference/print.illparms.saem.mmkin.html | 8 + docs/reference/print.mhmkin.html | 8 + docs/reference/print.mixed.mmkin.html | 8 + docs/reference/print.mkinds.html | 194 +----- docs/reference/print.mkindsg.html | 8 + docs/reference/print.mkinmod.html | 214 +------ docs/reference/print.mmkin.html | 194 +----- docs/reference/print.multistart.html | 8 + docs/reference/print.nafta.html | 8 + docs/reference/print.nlme.mmkin.html | 8 + docs/reference/print.saem.mmkin.html | 8 + docs/reference/print.status.mhmkin.html | 8 + docs/reference/print.status.mmkin.html | 8 + docs/reference/print.summary.mkinfit.html | 8 + docs/reference/print.summary.mmkin.html | 8 + docs/reference/print.summary.nlme.mmkin.html | 8 + docs/reference/print.summary.saem.mmkin.html | 8 + docs/reference/saem.mmkin.html | 8 + docs/reference/saemix_data.html | 8 + docs/reference/saemix_model.html | 8 + docs/reference/schaefer07_complex_results.html | 8 + docs/reference/set_nd_nq_focus.html | 8 + docs/reference/status.mhmkin.html | 8 + docs/reference/status.mmkin.html | 8 + docs/reference/tex_listing.html | 149 +---- docs/reference/update.nlme.mmkin.html | 8 + docs/reference/which.best.default.html | 8 + docs/reference/which.best.html | 8 + docs/search.json | 2 +- docs/sitemap.xml | 469 ++++---------- 102 files changed, 1671 insertions(+), 2202 deletions(-) delete mode 100644 .github/workflows/test-coverage.yaml create mode 100644 docs/reference/BIC.mmkin.html create mode 100644 docs/reference/FOCUS_2006_A.html create mode 100644 docs/reference/FOCUS_2006_B.html create mode 100644 docs/reference/FOCUS_2006_C.html create mode 100644 docs/reference/FOCUS_2006_D.html create mode 100644 docs/reference/FOCUS_2006_E.html create mode 100644 docs/reference/FOCUS_2006_F.html create mode 100644 docs/reference/NAFTA_SOP_Appendix_B.html create mode 100644 docs/reference/NAFTA_SOP_Appendix_D.html create mode 100644 docs/reference/[.mhmkin.html create mode 100644 docs/reference/aw.mixed.mmkin.html create mode 100644 docs/reference/aw.mkinfit.html create mode 100644 docs/reference/aw.mmkin.html create mode 100644 docs/reference/aw.multistart.html create mode 100644 docs/reference/backtransform_odeparms.html create mode 100644 docs/reference/best.default.html create mode 100644 docs/reference/best.html create mode 100644 docs/reference/check_failed.html create mode 100644 docs/reference/ds_dfop.html create mode 100644 docs/reference/ds_dfop_sfo.html create mode 100644 docs/reference/ds_fomc.html create mode 100644 docs/reference/ds_hs.html create mode 100644 docs/reference/ds_sfo.html create mode 100644 docs/reference/f_time_norm_focus.mkindsg.html create mode 100644 docs/reference/f_time_norm_focus.numeric.html create mode 100644 docs/reference/html_listing.html create mode 100644 docs/reference/illparms.mhmkin.html create mode 100644 docs/reference/illparms.mkinfit.html create mode 100644 docs/reference/illparms.mmkin.html create mode 100644 docs/reference/illparms.saem.mmkin.html create mode 100644 docs/reference/intervals.html create mode 100644 docs/reference/invilr.html create mode 100644 docs/reference/loftest.mkinfit.html create mode 100644 docs/reference/lrtest.html create mode 100644 docs/reference/lrtest.mmkin.html create mode 100644 docs/reference/max_twa_dfop.html create mode 100644 docs/reference/max_twa_fomc.html create mode 100644 docs/reference/max_twa_hs.html create mode 100644 docs/reference/max_twa_sfo.html create mode 100644 docs/reference/mhmkin.list.html create mode 100644 docs/reference/mhmkin.mmkin.html create mode 100644 docs/reference/mixed.mmkin.html create mode 100644 docs/reference/mkinpredict.mkinfit.html create mode 100644 docs/reference/mkinpredict.mkinmod.html create mode 100644 docs/reference/multistart.saem.mmkin.html create mode 100644 docs/reference/nlme_data.html create mode 100644 docs/reference/parms.mkinfit.html create mode 100644 docs/reference/parms.mmkin.html create mode 100644 docs/reference/parms.multistart.html create mode 100644 docs/reference/parms.saem.mmkin.html create mode 100644 docs/reference/parplot.multistart.saem.mmkin.html create mode 100644 docs/reference/plot_err.html create mode 100644 docs/reference/plot_res.html create mode 100644 docs/reference/plot_sep.html create mode 100644 docs/reference/print.illparms.mhmkin.html create mode 100644 docs/reference/print.illparms.mkinfit.html create mode 100644 docs/reference/print.illparms.mmkin.html create mode 100644 docs/reference/print.illparms.saem.mmkin.html create mode 100644 docs/reference/print.mhmkin.html create mode 100644 docs/reference/print.mixed.mmkin.html create mode 100644 docs/reference/print.mkindsg.html create mode 100644 docs/reference/print.multistart.html create mode 100644 docs/reference/print.nafta.html create mode 100644 docs/reference/print.nlme.mmkin.html create mode 100644 docs/reference/print.saem.mmkin.html create mode 100644 docs/reference/print.status.mhmkin.html create mode 100644 docs/reference/print.status.mmkin.html create mode 100644 docs/reference/print.summary.mkinfit.html create mode 100644 docs/reference/print.summary.mmkin.html create mode 100644 docs/reference/print.summary.nlme.mmkin.html create mode 100644 docs/reference/print.summary.saem.mmkin.html create mode 100644 docs/reference/saem.mmkin.html create mode 100644 docs/reference/saemix_data.html create mode 100644 docs/reference/saemix_model.html create mode 100644 docs/reference/schaefer07_complex_results.html create mode 100644 docs/reference/set_nd_nq_focus.html create mode 100644 docs/reference/status.mhmkin.html create mode 100644 docs/reference/status.mmkin.html create mode 100644 docs/reference/update.nlme.mmkin.html create mode 100644 docs/reference/which.best.default.html create mode 100644 docs/reference/which.best.html diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml deleted file mode 100644 index fefc52e2..00000000 --- a/.github/workflows/test-coverage.yaml +++ /dev/null @@ -1,61 +0,0 @@ -# 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: - branches: [main, master] - -name: test-coverage - -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_ci_if_error: ${{ github.event_name != 'pull_request' && true || false }} - 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/GNUmakefile b/GNUmakefile index 76163ab6..23f994a1 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -125,8 +125,7 @@ pd_all: roxygen git add -A coverage: - mkdir -p docs/dev/coverage - "$(RBIN)/Rscript" -e "covr::report(file = 'coverage/coverage.html')" + "$(RBIN)/Rscript" -e "covr::report(file = 'docs/coverage/coverage.html')" r-forge: git archive main > $(HOME)/git/mkin/mkin.tar;\ diff --git a/NEWS.md b/NEWS.md index d6139aae..69d6b6f7 100644 --- a/NEWS.md +++ b/NEWS.md @@ -2,11 +2,11 @@ - 'R/create_deg_func.R: Make sure that no reversible reactions are specified in the case of two observed variables, as this is not supported -# mkin 1.2.8 +# mkin 1.2.8 (unreleased) - 'R/{mhmkin,status}.R': Deal with 'saem' fits that fail when updating an 'mhmkin' object -# mkin 1.2.7 +# mkin 1.2.7 (unreleased) - 'R/illparms.R': Fix a bug that prevented an ill-defined random effect to be found if there was only one random effect in the model. Also add a test for this. diff --git a/README.md b/README.md index dee59ed9..8d7952ee 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,8 @@ [![](https://www.r-pkg.org/badges/version/mkin)](https://cran.r-project.org/package=mkin) [![mkin status badge](https://jranke.r-universe.dev/badges/mkin)](https://jranke.r-universe.dev/ui/#package:mkin) [![Build Status](https://app.travis-ci.com/jranke/mkin.svg?token=Sq9VuYWyRz2FbBLxu6DK&branch=main)](https://app.travis-ci.com/jranke/mkin) -[![Codecov test coverage](https://codecov.io/gh/jranke/mkin/branch/main/graph/badge.svg)](https://app.codecov.io/gh/jranke/mkin?branch=main) - The [R](https://www.r-project.org) package **mkin** provides calculation routines for the analysis of chemical degradation data, including multicompartment kinetics as needed for modelling the formation and decline of transformation products, or diff --git a/_pkgdown.yml b/_pkgdown.yml index 34220df8..0902ced9 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -67,6 +67,7 @@ reference: - multistart - llhist - parplot + - check_failed - title: Datasets and known results contents: - ds_mixed @@ -178,5 +179,7 @@ navbar: href: articles/twa.html - text: Example evaluation of NAFTA SOP Attachment examples href: articles/web_only/NAFTA_examples.html + - text: Test coverage + href: coverage/coverage.html - text: News href: news/index.html diff --git a/docs/404.html b/docs/404.html index b85f954e..22e29157 100644 --- a/docs/404.html +++ b/docs/404.html @@ -8,87 +8,73 @@ Page not found (404) • mkin - - - - + Skip to contents - -