Cutting a new release - Biogen-Inc/tidyCDISC GitHub Wiki
First:
- Deploy the
demo
branch again, but name it after the current version. For example, if current release onmaster
is v0.1.0, then publish to https://rinpharma.shinyapps.io/tidyCDISC_v010/ - Make a copy of master called
last_cran
devel
:
Work on - Make sure all final PRs are merged into
devel
- Work on a new PR to the
devel
branch- run
run_dev.R
to ensure all.Rd
files are built - increment the pkg version via
usethis::use_version()
using either "patch", "minor", or "major". - make sure the
NEWS.md
file is up to date and reads clearly for users. Sometimes bullet points are written in a way that users wouldn't easily understand- try to correct those. - Read through the
README
to see if any updates are needed - update authorship
- make sure there are
testthat
tests for any new functions - See
For CRAN
steps below - fix all
TODO
items (that are within scope of the release) - Check all "notes" too. See if there is anything "new" you can prevent or get rid of!
- run
- Submit PR to merge
devel
intomaster
(if it doesn't already exist) - Make sure all flavors of R-CMD-CHECK are passing for the PR from
devel
tomaster
- Check all notes too. See if there is anything "new" you can get rid of
- Note! The R-CMD-CHECK on PRs into
master
is NOT based offrenv.lock
so new issues may arise
- Use
renv::update()
to updaterenv.lock
's packages to the most current versions available on CRAN (since that's what users and the CRAN team will use) to make sure nothing is broken. User needs to test drive all functionality in the app. - Repeat 4, then assign a reviewer (or two) to do thorough testing to find any issues. Follow this testing guide. If bugs are found, you may need to start over at step 1!
master
:
After merge into - Verify everything looks good on the
{tidyCDISC}
doc site. Sometimes it doesn't! Note it may need ~ 5 mins after a merge tomaster
before it updates too. Fix any issues that arise. - Go back to the
devel
branch and runusethis::use_version("dev")
, then rungit push origin devel
- Open a new 'Next Release' PR that compares
devel
tomaster
- deploy a new demo version of the app to shinyapps.io
- create
cran_vxxx
branch based offmaster
, used for submission. Any changes they request should be made on this branch.- run
usethis::use_cran_comments(open = rlang::is_interactive())
- When ready, submit to CRAN for the first time
devtools::release(check = FALSE, args = "--no-build-vignettes")
- To re-submit, use
devtools::submit_cran()
- run
For CRAN
This section is based off of r-pkgs.org and ThinkR's prep list
- Check for downstream dependencies using
usethis::use_revdep()
- Update dependencies in DESCRIPTION using
attachment::att_amend_desc()
- Check content of package for missing tags using
tags <- checkhelper::find_missing_tags(); View(tags)
- check spelling with
spelling::spell_check_package()
and after making edits, add uncorrectable words to the wordlist withspelling::update_wordlist()
- Check URLs with
urlchecker::url_check()
andurlchecker::url_update()
- Check package via RHub using
cran_chk <- rhub::check_for_cran(check_args = c("--as-cran"))