Version: 1.5.0
Below you can find a checklist, which I wrote for my own purposes. It helps me to remember to check everything important before release a new version of R package to CRAN. Maybe you will also find it helpful.
- [ ] Update this checklist.
- [ ] Update the checklist version number.
- [ ] See what new Hadley recommends:
- [ ] Update R & packages:
- [ ] R
- [ ] all R packages
- [ ] RStudio (stable or preview version).
- [ ] Update your package:
- [ ] Deprecate old functions and arguments with
.Deprecated(). - [ ] Update unit tests.
- [ ] Update package files:
- [ ]
.rbuildignore - [ ]
.rinstignore
- [ ]
- [ ] Deprecate old functions and arguments with
- [ ] Update package documentation:
- [ ] Update & rebuild MAN pages.
- [ ] Update package help page.
- [ ] Update function help pages.
- [ ] Update function examples.
- [ ] Update
README.mdfile:- [ ] Make change in
README.Rmd. - [ ] Check & add examples.
- [ ] Check & add badges.
- [ ] Check & add external links.
- [ ] Re-knit the
.Rmdinto.md.
- [ ] Make change in
- [ ] Check
LICENSEfile. - [ ] Update & rebuild vignettes.
- [ ] Update & rebuild
pkgdownfiles. - [ ] Check spelling in the package with
spelling::spell_check_package("."). - [ ] Rebuild all documents.
- [ ] Update & rebuild MAN pages.
- [ ] (Re)deploy demo apps.
- [ ] Use the newest version of your package.
- [ ] Update & test demo apps.
- [ ] Locally.
- [ ] On
shinyapps.io. - [ ] On
rsconnect.
- [ ] Check package:
- [ ] Use
goodpractice::gp(). - [ ] Check unit tests.
- [ ] Check unit test coverage.
- [ ] Check reverse dependencies.
- [ ] If devtools functions don’t work use:
tools::dependsOnPkgs().
- [ ] If devtools functions don’t work use:
- [ ] Import undefined globals.
- [ ] Use
utils::globalVariables()in the package R file.
- [ ] Use
- [ ] Use
- [ ] Run a R CMD check locally with
–as-cranoption.- [ ] If you got an error regarding qpdf missing, check:
- [ ]
View(Sys.getenv(“PATH”)) - [ ]
Sys.which(Sys.getenv(“R_QPDF”, “qpdf”))
- [ ]
- [ ] If you got an error regarding qpdf missing, check:
- [ ] Run a R CMD check on win-builder
- [ ] On R release version via
devtools::check_win_release(). - [ ] On R devel version via
devtools::check_win_devel().
- [ ] On R release version via
- [ ] Run a R CMD check on Ubuntu.
- [ ] Use
use_travis(). [ ] Config builds on R
develandreleaseversions.language: R cache: packages warnings_are_errors: true sudo: required r: - release - devel
- [ ] Use
- [ ] Update
cran-comments.md:- [ ] Test environments,
- [ ] R CMD check results (explain ERRORs, WARNINGs, NOTEs).
- [ ] Downstream dependencies.
- [ ] Resubmit comments.
- [ ] Update
DESCRIPTIONfile:- [ ] Update
Versionfield (major.minor.patch.dev). - [ ] Update
Datefield. - [ ] Add new co-authors.
- [ ] Update
- [ ] Update
NEWS.mdfile.- [ ] Categorize points into:
- [ ] Major changes.
- [ ] Minor changes.
- [ ] Bugfixes.
- [ ] Categorize points into:
- [ ] Run again a R CMD check locally just to be sure.
- [ ] Use
devtools::check(cleanup = FALSE, args = c('--as-cran')).
- [ ] Use
- [ ] Check vignettes:
- [ ] Build your package sources
- [ ] Load them with:
install.packages(“../packageName_2.0.90002.tar.gz”, repos = NULL, type = “source”) - [ ] Use
browseVignettes(“packageName”)
- [ ] Push all necessary commits to GitHub.
- [ ] Merge branches if necessary
Via GitHub website OR Via GIT:git merge –no-ff branch_name
- [ ] Merge branches if necessary
- [ ] Submit the package to CRAN.
- [ ] Use
devtools::release(check = TRUE). - [ ] Confirm submission via link in the mail.
- [ ] Use
- [ ] Check results of submission:
- [ ] in all CRAN checks
(from http://cran.r-project.org/web/packages) - [ ] in comments inside the e-mail from CRAN
- [ ] in all CRAN checks
- [ ] Fix what needs to be fixed.
- [ ] Consider increasing version number.
- [ ] Check everything again.
[ ] Add
Resubmissionsection at the top ofcran-comments.md.## Resubmission This is a resubmission. In this version I have: * ...- [ ] Push changes to GitHub repo.
[ ] Resubmit to CRAN using
devtools::submit_cran().
- [ ] After successful submission:
- [ ] Create a new release with tag version on GitHub repo.
- [ ] Copy and paste the contents of the relevant
NEWS.mdsection into the release notes
- [ ] Copy and paste the contents of the relevant
- [ ] Increment the version of the package in the DESCRIPTION file (to
X.X.X.9000). - [ ] Promote your package
- [ ] Post on personal blog
- [ ] Post on Twitter (use #rstats)
- [ ] R-Bloggers
- [ ] etc.
- [ ] Create a new release with tag version on GitHub repo.
- [ ] Update this checklist.
- [ ] Update the checklist version number.
- [ ] Push new checklist to the homepage.