diff --git a/.github/ISSUE_TEMPLATE/cran-release-checklist.md b/.github/ISSUE_TEMPLATE/cran-release-checklist.md
index 8ab8b40a..98e422b6 100644
--- a/.github/ISSUE_TEMPLATE/cran-release-checklist.md
+++ b/.github/ISSUE_TEMPLATE/cran-release-checklist.md
@@ -11,31 +11,33 @@ assignees: ''
- [ ] increment package version
- [ ] create release name
- [ ] update NEWS.md
-- [ ] code check: run devtools::check(args=c("--no-examples", "--no-tests"), vignettes=FALSE), alternatively rcmdcheck::rcmdcheck(args=c("--no-examples", "--no-tests"))
-- [ ] test check: run devtools::test(): set options("testthat.progress.max_fails"=Inf) and options("Ncpus"=10)
-- [ ] create archives for testing backward compatibility against future versions: run tests/old_experiments/archiveExperiments.R
-- [ ] test backward compatibility against archived experiments: manually run tests/testthat/test-update_object.R
-- [ ] pre-compile vignettes: run vignettes/compile.R
-- [ ] code and vignette check: run devtools::check(args=c("--no-examples", "--no-tests")), alternatively rcmdcheck::rcmdcheck(args=c("--no-examples", "--no-tests"))
-- [ ] reverse dependencies: run revdepcheck::revdep_check()
-- [ ] reverse dependencies: mail maintainers using revdepcheck::revdep_email()
-- [ ] run check: rhub::check_for_cran()
+- [ ] code check: run `devtools::check(args=c("--no-examples", "--no-tests"), vignettes=FALSE)`, alternatively `rcmdcheck::rcmdcheck(args=c("--no-examples", "--no-tests"))`
+- [ ] test check: run `devtools::test()`: set `options("testthat.progress.max_fails"=Inf)` and `options("Ncpus"=10)`
+- [ ] create archives for testing backward compatibility against future versions: run `tests/old_experiments/archiveExperiments.R`
+- [ ] test backward compatibility against archived experiments: manually run `tests/testthat/test-update_object.R`
+- [ ] pre-compile vignettes: run `vignettes/compile.R`
+- [ ] code and vignette check: `rcmdcheck::rcmdcheck(args=c("--no-examples", "--as-cran"))`
+- [ ] check reverse dependencies
+- [ ] create pull request
+- [ ] check continuous integration tests
+- [ ] Build source tarball using `devtools::build()`.
+- [ ] Run `devtools::check_built(path=pkg, env_vars = list("_R_CHECK_DEPENDS_ONLY_" = TRUE))`, with pkg the path to the tarball.
- [ ] update cran_comments.md
- [ ] merge dev branch into master
**Post-merge**
- [ ] Check for merging errors.
- - [ ] Run a post-merge code check: devtools::check(env_vars = c("NOT_CRAN"="false"), args=c("--as-cran"))
+ - [ ] Run a post-merge code check: `rcmdcheck::rcmdcheck(args=c("--no-examples", "--as-cran"))`
- [ ] Run post-merge test suite, if required.
- [ ] Pre-compile vignettes, if required.
+ - [ ] Rebuild source tarball using `devtools::build()`, if required.
**CRAN**
-- [ ] Build source tarball using devtools::build().
- [ ] Check CRAN-policies on https://cran.r-project.org/web/packages/policies.html
- [ ] Upload source tarball to https://cran.r-project.org/submit.html
- [ ] Check CRAN checks
**Github release**
- [ ] prepare a GithHub release
- - [ ] create source tarball using devtools::build and add as binary.
- [ ] copy news from NEWS.md
+ - [ ] add source tarball as data
diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md
new file mode 100644
index 00000000..73abf9f5
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/documentation.md
@@ -0,0 +1,19 @@
+---
+name: Documentation
+about: Template for suggesting documentation changes
+title: ''
+labels: documentation
+assignees: ''
+
+---
+
+Please use the below template to submit your issue:
+
+# Documentation changes
+
+What new addition or change to the documentation would you like to see?
+Where should this addition or change be made? If relevant, provide the name of the method, class or function.
+
+# Specifications
+
+- `familiar` version:
diff --git a/.github/ISSUE_TEMPLATE/general-issue.md b/.github/ISSUE_TEMPLATE/general-issue.md
new file mode 100644
index 00000000..32e32483
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/general-issue.md
@@ -0,0 +1,29 @@
+---
+name: Bugs and problems
+about: General issue template
+title: ''
+labels: bug
+assignees: ''
+
+---
+
+Please use the below template to submit your issue:
+
+# Expected behaviour
+
+What did you expect `familiar` to do?
+
+# Observed behaviour
+
+What did `familiar` actually do? What error (if any) was produced?
+
+# Steps to reproduce the problem
+
+What steps are required to reproduce the problem? If possible, provide code and data that led to the problem.
+
+# Specifications
+
+- `familiar` version:
+- `R` version:
+- Operating system:
+- Other package versions (*if relevant*):
diff --git a/.github/ISSUE_TEMPLATE/internal-patch-checklist.md b/.github/ISSUE_TEMPLATE/internal-patch-checklist.md
index 959c50c4..e808f44e 100644
--- a/.github/ISSUE_TEMPLATE/internal-patch-checklist.md
+++ b/.github/ISSUE_TEMPLATE/internal-patch-checklist.md
@@ -8,18 +8,20 @@ assignees: ''
---
**Prior to merge with master**
-- [ ] code check: run devtools::check(args=c("--no-examples", "--no-tests"), vignettes=FALSE); alternatively rcmdcheck::rcmdcheck(args=c("--no-examples", "--no-tests"))
-- [ ] test check: run devtools::test(): set options("testthat.progress.max_fails"=Inf) and options("Ncpus"=10)
+- [ ] code check: run `devtools::check(args=c("--no-examples", "--no-tests"), vignettes=FALSE)`; alternatively `rcmdcheck::rcmdcheck(args=c("--no-examples", "--no-tests"))`
+- [ ] test check: run `devtools::test()`: set options("testthat.progress.max_fails"=Inf) and options("Ncpus"=10)
- [ ] create archives for testing backward compatibility against future versions: run tests/old_experiments/archiveExperiments.R
- [ ] test backward compatibility against archived experiments: manually run tests/testthat/test-update_object.R
- [ ] increment minor package version
- [ ] create release name
- [ ] update NEWS.md
+- [ ] create pull request
+- [ ] check continuous integration tests
- [ ] merge patches into master
**Post-merge**
- [ ] Check for merging errors.
- - [ ] Run a post-merge code check: devtools::check(args=c("--no-examples", "--no-tests"), vignettes=FALSE)
+ - [ ] Run a post-merge code check: `rcmdcheck::rcmdcheck(args=c("--no-examples", "--as-cran"))`
- [ ] Run post-merge test suite, if required.
**Github release**
diff --git a/.github/workflows/auto-test-no-suggests-pull.yml b/.github/workflows/auto-test-no-suggests-pull.yml
new file mode 100644
index 00000000..ac4d705a
--- /dev/null
+++ b/.github/workflows/auto-test-no-suggests-pull.yml
@@ -0,0 +1,56 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+#
+# See https://github.com/r-lib/actions/tree/master/examples#readme for
+# additional example workflows available for the R community.
+
+name: Run R CMD check for strong dependencies only (nosuggests)
+
+on: [pull_request, workflow_dispatch]
+
+permissions:
+ contents: read
+
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ r-version: ["release"]
+ os: [ windows-latest ]
+
+ steps:
+ - uses: actions/checkout@v4
+ - uses: r-lib/actions/setup-pandoc@v2
+ - uses: r-lib/actions/setup-r@v2
+ with:
+ use-public-rspm: true
+
+ - uses: r-lib/actions/setup-r-dependencies@v2
+ with:
+ dependencies: '"hard"'
+ cache: false
+ extra-packages: |
+ any::rcmdcheck
+ any::testthat
+ needs: check
+
+ - name: Identify and remove all non-critical packages
+ run: |
+ installed_packages <- data.table::data.table(utils::installed.packages())
+ required_packages <- c("familiar", "rcmdcheck", "testthat")
+ required_packages <- union(required_packages, unlist(tools::package_dependencies(required_packages, recursive = TRUE), use.names=FALSE))
+ required_packages <- union(required_packages, installed_packages[Priority == "base"]$Package)
+ non_critical_packages <- setdiff(installed_packages$Package, required_packages)
+ for (package in non_critical_packages) {utils::remove.packages(installed_packages[Package == package]$Package, installed_packages[Package == package]$LibPath)}
+ shell: Rscript {0}
+
+ - uses: r-lib/actions/check-r-package@v2
+ with:
+ upload-snapshots: true
+ args: 'c("--no-manual", "--as-cran", "--no-vignettes", "--no-build-vignettes")'
+ build_args: 'c("--no-build-vignettes", "--no-manual")'
+ error-on: '"error"'
diff --git a/.github/workflows/auto-test-package_pull.yml b/.github/workflows/auto-test-package_pull.yml
new file mode 100644
index 00000000..28f085f4
--- /dev/null
+++ b/.github/workflows/auto-test-package_pull.yml
@@ -0,0 +1,43 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+#
+# See https://github.com/r-lib/actions/tree/master/examples#readme for
+# additional example workflows available for the R community.
+
+name: Run R CMD for different OS
+
+on: [pull_request, workflow_dispatch]
+
+permissions:
+ contents: read
+
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ r-version: ["release"]
+ os: [ ubuntu-latest, macos-latest, windows-latest ]
+
+ steps:
+ - uses: actions/checkout@v4
+ - uses: r-lib/actions/setup-pandoc@v2
+ - uses: r-lib/actions/setup-r@v2
+ with:
+ use-public-rspm: true
+
+ - uses: r-lib/actions/setup-r-dependencies@v2
+ with:
+ extra-packages: |
+ any::rcmdcheck
+ needs: check
+
+ - uses: r-lib/actions/check-r-package@v2
+ with:
+ upload-snapshots: true
+ args: 'c("--no-manual", "--as-cran", "--no-vignettes", "--no-build-vignettes")'
+ build_args: 'c("--no-build-vignettes", "--no-manual")'
+ error-on: '"error"'
diff --git a/.github/workflows/auto-test-package_time_trigger.yml b/.github/workflows/auto-test-package_time_trigger.yml
new file mode 100644
index 00000000..138f24e1
--- /dev/null
+++ b/.github/workflows/auto-test-package_time_trigger.yml
@@ -0,0 +1,46 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+#
+# See https://github.com/r-lib/actions/tree/master/examples#readme for
+# additional example workflows available for the R community.
+
+name: build-check
+
+on:
+ workflow_dispatch:
+ schedule:
+ - cron: '30 6 1,15 * *'
+
+permissions:
+ contents: read
+
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ r-version: ["release"]
+ os: [ ubuntu-latest, macos-latest, windows-latest ]
+
+ steps:
+ - uses: actions/checkout@v4
+ - uses: r-lib/actions/setup-pandoc@v2
+ - uses: r-lib/actions/setup-r@v2
+ with:
+ use-public-rspm: true
+
+ - uses: r-lib/actions/setup-r-dependencies@v2
+ with:
+ extra-packages: |
+ any::rcmdcheck
+ needs: check
+
+ - uses: r-lib/actions/check-r-package@v2
+ with:
+ upload-snapshots: true
+ args: 'c("--no-manual", "--as-cran", "--no-vignettes", "--no-build-vignettes")'
+ build_args: 'c("--no-build-vignettes", "--no-manual")'
+ error-on: '"error"'
diff --git a/.gitignore b/.gitignore
index 27ee1a0d..98fbb26c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,10 +5,7 @@
doc
Meta
tests/testthat/Rplots.pdf
-inst/doc
/doc/
/Meta/
-/man/
-*.Rd
tests/old_experiments/_experiment
Rplots.pdf
diff --git a/README.md b/README.md
index e32b4873..eff5aea5 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,10 @@
-# Familiar
+
+
+![GitHub License](https://img.shields.io/github/license/alexzwanenburg/familiar)
+![CRAN Version](https://img.shields.io/cran/v/familiar)
+![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/alexzwanenburg/familiar/auto-test-package_time_trigger.yml)
+
+# Familiar
## Overview
diff --git a/cran-comments.md b/cran-comments.md
index b2d41bb2..cfa3307c 100644
--- a/cran-comments.md
+++ b/cran-comments.md
@@ -1,4 +1,4 @@
-Update familiar to version 1.4.6
+Update familiar to version 1.4.8
Vignettes are pre-compiled to avoid long compilation times on build (several minutes).
@@ -8,65 +8,40 @@ Longer tests and tests involving parallel processing are not performed on CRAN,
## R CMD check results
-R CMD check was run on R-hub using rhub::check_for_cran(), producing the following results:
+R CMD check was run on GitHub using https://github.com/alexzwanenburg/familiar/actions/workflows/auto-test-package_pull.yml
----------------------------------
-Windows Server 2022, R-devel, 64 bit:
-0 errors | 0 warnings | 4 notes
-
-* checking installed package size ... NOTE
- installed size is 5.8Mb
- sub-directories of 1Mb or more:
- R 3.5Mb
- doc 1.0Mb
- help 1.2Mb
-
-**Maintainer**: The size of the R-directory is due to source code. Addressing the size of the R directory would require creating a set of mutually dependent packages. This would likely result in a larger footprint across the packages.
-
-* checking HTML version of manual ... [39s] NOTE
-Skipping checking math rendering: package 'V8' unavailable
-
-**Maintainer**: I am not sure what the cause is, but it might be because the V8 package was not available on rhub.
-
-* checking for non-standard things in the check directory ... NOTE
-Found the following files/directories:
- ''NULL''
-
-**Maintainer**: I am not sure what the cause is. However, NULL is not present as a directory or file.
-
-* checking for detritus in the temp directory ... NOTE
-Found the following files/directories:
- 'lastMiKTeXException'
-
-**Maintainer**: This note only appeared on the Windows server test. It didn't appear locally (Windows 10) or the other builds.
-
-
+window-latest:
+0 errors | 0 warnings | 0 notes
----------------------------------
-Fedora Linux, R-devel, clang, gfortran:
-0 errors | 0 warnings | 1 notes
+macos-latest
+0 errors | 0 warnings | 1 note
* checking installed package size ... NOTE
- installed size is 5.8Mb
+ installed size is 5.4Mb
sub-directories of 1Mb or more:
- R 3.5Mb
- doc 1.0Mb
help 1.2Mb
+ R 4.1Mb
+
+----------------------------------
+ubuntu-latest:
+0 errors | 0 warnings | 0 notes
+## R CMD check for strong dependencies only
+R CMD check was run on GitHub using https://github.com/alexzwanenburg/familiar/actions/workflows/auto-test-no-suggests-pull.yml
----------------------------------
-Ubuntu Linux 20.04.1 LTS, R-release, GCC:
+ubuntu-latest:
0 errors | 0 warnings | 1 note
-* checking installed package size ... NOTE
- installed size is 5.9Mb
- sub-directories of 1Mb or more:
- doc 1.0Mb
- help 1.1Mb
- R 3.6Mb
-
-
+* checking package dependencies ... NOTE
+Packages suggested but not available for checking:
+ 'BART', 'CORElearn', 'coro', 'dynamicTreeCut', 'e1071', 'Ecdat',
+ 'fastcluster', 'fastglm', 'glmnet', 'harmonicmeanp', 'isotree',
+ 'laGP', 'maxstat', 'mboost', 'microbenchmark', 'partykit', 'praznik',
+ 'proxy', 'qvalue', 'randomForestSRC', 'ranger', 'VGAM', 'xgboost'
## Downstream dependencies