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"))