Skip to content

[INFRA] Automate additional checks prior submitting to CRAN #185

@tbouffard

Description

@tbouffard

Generalize usage of https://builder.r-hub.io/ to validate the package source prior submission: started with #184

Check how we can automate the usage of r-hub by having a GH workflow. This is currently described as manual steps in the release procedure.
See

The R-CMD-Check workflow could be simplified as well by using this action instead of calling R command directly: https://github.com/r-lib/actions/tree/v2/check-r-package

Note: The whole release may be fully automated, including the CRAN submission, according to https://r-pkgs.org/release.html#sec-release-submission (use a dedicated R package).
If so, create a dedicated issue

From https://www.r-bloggers.com/2020/07/how-to-write-your-own-r-package-and-publish-it-on-cran

See also #136 and #137

Checks Needed Recommended
Update your R, Rstudio and all dependent R packages (R and Rstudio has to be updated manually, devtools::install_deps() updates the dependencies for you)   x
Write tests and check if your own tests work (devtools::test() and devtools::test_coverage() to see how much of your package is covered by your tests)   x
Check your examples in your manuals (devtools::run_examples(); unless you set your examples to \dontrun{} or \donttest{})   x
Local R CMD check (devtools::check()) x x
Use devtools and rhub to check for CRAN specific requirements (rhub::check_for_cran() and/or devtools::check_rhub() – remember, you can store your output of these functions and generate your cran-comments.md automatically) x x
Check win-builder (devtools::check_win_devel()) x x
Check with Travis CI (usethis::use_travis())   x
Update your manuals (devtools::document()) x x
Update your NEWS file x x
Update DESCRIPTION (e.g. version number) x x
Spell check (devtools::spell_check()) x x
Run goodpractice check (goodpractice::gp())   x
Check package dependencies (inteRgrate::check_pkg())   x
Check if code adheres to standards (inteRgrate::check_lintr())   x
Check if your description is tidy (inteRgrate::check_tidy_description() – if your description is not tidy, it will produce an error and ask you to run usethis::use_tidy_description() to make your DESCRIPTION tidy)   x
Check if file names are correct (inteRgrate::check_r_filenames())   x
Check if .gitignore contains standard files (inteRgrate::check_gitignore())   x
Update cran-comments.md x x
Run devtools::check() one last time   x

Metadata

Metadata

Assignees

No one assigned

    Labels

    choreBuild, CI/CD or repository tasks (issues/PR maintenance, environments, ...)

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions