Cutting a new release - Biogen-Inc/tidyCDISC GitHub Wiki
First:
- Deploy the 
demobranch again, but name it after the current version. For example, if current release onmasteris v0.1.0, then publish to https://rinpharma.shinyapps.io/tidyCDISC_v010/ - Make a copy of master called 
last_cran 
Work on devel:
- Make sure all final PRs are merged into 
devel - Work on a new PR to the 
develbranch- run 
run_dev.Rto ensure all.Rdfiles are built - increment the pkg version via 
usethis::use_version()using either "patch", "minor", or "major". - make sure the 
NEWS.mdfile 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 
READMEto see if any updates are needed - update authorship
 - make sure there are 
testthattests for any new functions - See 
For CRANsteps below - fix all 
TODOitems (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 
develintomaster(if it doesn't already exist) - Make sure all flavors of R-CMD-CHECK are passing for the PR from 
develtomaster- Check all notes too. See if there is anything "new" you can get rid of
 - Note! The R-CMD-CHECK on PRs into 
masteris NOT based offrenv.lockso 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!
 
After merge into master:
- Verify everything looks good on the 
{tidyCDISC}doc site. Sometimes it doesn't! Note it may need ~ 5 mins after a merge tomasterbefore it updates too. Fix any issues that arise. - Go back to the 
develbranch and runusethis::use_version("dev"), then rungit push origin devel - Open a new 'Next Release' PR that compares 
develtomaster - deploy a new demo version of the app to shinyapps.io
 - create 
cran_vxxxbranch 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"))