-
Notifications
You must be signed in to change notification settings - Fork 29
For developers
Branching conventions
- Development takes place in the development branch
- Substantial new features are branched from the development branch
- Every new CRAN release is merged from the development branch to master
- Bugfixes should be done in master, and then be merged into the branches
- We want to roughly follow this Git Flow sheme: https://leanpub.com/git-flow/read
- A nice visualization of this workflow: https://veerasundar.com/blog/2018/03/gitflow-animated/
Version numbering is x.x.x.x
-
last number is internal, and will be used when a new capability is introduced. Create a new pre-release, as in https://github.com/florianhartig/BayesianTools/releases/tag/v0.1.0.2 and document the same text in news.md under the section for the next CRAN release (see next)
-
third number is a CRAN maintenance release, 0.1.1. Create a new release, as in https://github.com/florianhartig/BayesianTools/releases/tag/v0.1.1, and collect all changes since the last CRAN release in the new.md file
-
second number is a major release. Major releases will get their own branch. Larger changes to the syntax / code structure should be done via a major release. Other than that all identical.
-
first number is a new software version.
You should only push changes to GitHub if you are very sure they are OK, because you might otherwise break code of other people. For larger things, create a new branch. For smaller things, do the following
- change1 -> local commit
- change2 -> local commit
- ...
- changeX -> local commit
If you are done, run a local check (in RStudio, run check, this will rebuild the package, vignette, and run unit tests)
If everything is fine, push to GitHub
-> this will trigger the Travis-CI checks, which will again re-build the package, vignette, and run unit tests on Linux with different R versions. Check if your changes break anything here https://travis-ci.org/florianhartig/BayesianTools
- check possible open problems at https://cran.r-project.org/web/checks/check_results_BayesianTools.html
- update version number, date, news file
- run local tests
- push and check Travis CI
- build and check winbuilder
- submit