-
ensure all tests passing locally on as many machines as possible (mac, linux, win)
devtools::check(args = c('--as-cran'), build_args = c('--compact-vignettes=both'))
-
ensure passing on GitHub Actions
-
check code formatting and cleanup as needed
#install_github("jimhester/lintr") library(lintr) lint_package()
-
ensure passing win-builder oldrelease, release, and devel
## macOS check_mac_release(args = "--compact-vignettes=both") ## Windows check_win_oldrelease(args = "--compact-vignettes=both") check_win_release(args = "--compact-vignettes=both") check_win_devel(args = "--compact-vignettes=both") ## using rhub rhub::check_for_cran()
-
bump version number in DESCRIPTION (use non-devel suffix -- no
.9000
)usethis::use_version() ## e.g., usethis::use_version("minor")
-
update
NEWS.md
devtools::show_news()
-
rebuild docs and ensure vignettes are compressed
devtools::document() tools::compactPDF("vignettes", qpdf = Sys.which(Sys.getenv("R_QPDF", "qpdf")), gs_quality = "ebook")
-
run spell checks
spelling::spell_check_package() spelling::update_wordlist()
-
run reverse dependency checks (see
revdep/check.R
) -
update cran-comments (incl. versions tested)
-
switch to
main
branch and merge indevelopment
-
remove
Remotes
fromDESCRIPTION
(onmain
branch) -
submit to CRAN
devtools::release(args = "--compact-vignettes=both")
-
once accepted, create a new GitHub release:
usethis::use_github_release()