-
Notifications
You must be signed in to change notification settings - Fork 31
Cutting a new release
Aaron Clark edited this page Jan 25, 2025
·
13 revisions
- Make sure all final PRs are merged into
dev
- Work on a new PR to the
dev
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 -
update... No longer needed now that we have a GHA to update.manifest.json
usingrsconnect::writeManifest()
git push origin dev
- run
- submit PR to merge
dev
intomaster
(if it doesn't already exist) - Make sure all flavors of R-CMD-CHECK are passing
- Check all notes too. See if there is anything "new" you can get rid of
- assign a reviewer (or two) to find any issues.
- test a deployment to shinyapps.io. Perhaps make a copy of
demo-shinyapps.io
, call itdemo-shinyapps.io-vxxx
where xxx = the version number. Then merge in thedev
branch. Deployment to RS connect may suffice too.
- Verify everything looks good on the
{riskassessment}
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. -
Tag a new release, naming the tag using syntax
vX.X.X
. Generate automatic release notes, but copy/paste the newNEWS.md
contents into the "What's New?" section and rename the auto-generated content to "PRs". - Go back to the
dev
branch and runusethis::use_version("dev")
, thengit push origin dev
- Open a new 'Next Release' PR that compares
dev
tomaster
- Update the demo app
- Before updating the branch, checkout the
demo-shinyapps.io
branch and make a copy, naming it after the old app's version. For example, if the new release isv0.1.1
, then save the previous deployed version (in this case it wasv0.1.1
) asdemo-shinyapps.io-v010
. Then deploy that version to shinyapps.io with the version number appended. For example, https://rinpharma.shinyapps.io/riskassessment_v010/ - Go back to the
demo-shinyapps.io
and merge it withmaster
to get the recent changes. Resolve merge conflicts (if any) and delete thecredentials.sql
file before runningdev/run_dev.R
to make sure everything works. Deploy the new demo version of the app from thedemo-shinyapps.io
branch to shinyapps.io destination titledriskassessment_test
and then test everything. - If all is well, go ahead and publish to
riskassessment
andrisk_assessment
urls as well
- Before updating the branch, checkout the
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()