Skip to content
Gordon Woodhull edited this page Jan 14, 2020 · 18 revisions

We use git flow in order to handle development branches and stable releases at the same time. You don't need to install git-flow (AVH Edition) to follow this model, but the extension is useful.

  1. Update NEWS.md
  2. Check if scripts/bootstrapR.sh works, also with --mk-dist
  3. git flow release start N.N (or git flow hotfix start N.N). We typically use N.N for major releases and N.N.N for patches
  4. Update VERSION in the release branch to the current release version
  5. Update Version in rcloud.support/DESCRIPTION - this takes the form N.N-N
  6. Update VERSION in the develop branch to the next release version +'-devel'
  7. Fix, fix...
  8. Check in artifacts!
  9. git flow release finish N.N (or git flow hotfix finish N.N)
  10. git push from master and develop
  11. git push --tags

Notes:

  • We shouldn't maintain different versions of different files in different branches (except for VERSION itself). So, in particular, NEWS.md should just mention what version each feature/fix is targeted for, not what branch it was committed to.
  • Everything that gets committed to the release branch will get merged both to master and develop. In principle, master should always cleanly merge to develop (except for VERSION).