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.md
file:- [ ] Make change in
README.Rmd
. - [ ] Check & add examples.
- [ ] Check & add badges.
- [ ] Check & add external links.
- [ ] Re-knit the
.Rmd
into.md
.
- [ ] Make change in
- [ ] Check
LICENSE
file. - [ ] Update & rebuild vignettes.
- [ ] Update & rebuild
pkgdown
files. - [ ] 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-cran
option.- [ ] 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
devel
andrelease
versions.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
DESCRIPTION
file:- [ ] Update
Version
field (major.minor.patch.dev). - [ ] Update
Date
field. - [ ] Add new co-authors.
- [ ] Update
- [ ] Update
NEWS.md
file.- [ ] 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
Resubmission
section 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.md
section 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.