This document contains guidelines specific to Rhino. Appsilon’s general contributing guidelines still apply.
Development tools
R CMD check
devtools::check()orrcmdcheck::rcmdcheck()Run linter
devtools::lint()orlintr::lint_package()Run unit tests
devtools::test()ortestthat::test_local()Check spelling
devtools::spell_check()orspelling::spell_check_package()Build documentation
devtools::build_site()orpkgdown::build_site()Build package
devtools::build()orpkgbuild::build()
Release process
- Bump the package version in
DESCRIPTIONaccording to SemVer. Drop the development version (last component, e.g..9001). - Update
NEWS.md. Create a new header for the release. Edit the list of changes: reorder, reword, and add or remove details as appropriate. See keep a changelog for some guidelines. - Submit the changes in a pull request titled “Release X.Y.Z”. Get it approved and merged.
-
Publish a new pre-release on GitHub. Create a new
vX.Y.Z-rc.1tag on themainbranch (rcstands for release candidate). Use the same string for title, leave description blank. - Build the package with
devtools::build()and submit it to CRAN. Use your own name and email. You will need access toopensource@appsilon.comto receive the confirmation link. - If CRAN reviewers ask for changes, implement them and return to step 4 (use
rc.2,rc.3and so on for subsequent submissions). - Once the package is accepted to CRAN, publish a new release on GitHub. Create a new
vX.Y.Ztag on themainbranch. Use the same string for title, fill the description fromNEWS.md. - Announce the release on
#proj-rhino.
Development process
- All changes are introduced in pull requests to the
mainbranch, which must be always kept in a “potentially shippable” state. - Pull requests must be peer-reviewed. The reviewer inspects the code, tests the changes and checks them against the DoD before approving.
- We follow the Semantic Versioning scheme. Starting with
1.0.0, all versions should be released to CRAN.