Skip to content

For developers

TankredO edited this page Mar 2, 2018 · 10 revisions

Versions, tags and documentation of news

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.

How to work with git and the unit test structure.

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

CRAN release

Clone this wiki locally