Refine the branching, release and contribution process
As a pre-requisite for some server infrastructure stuff (like Docker), I'd like to propose some changes to the branching, release and contribution process:
Branches
-
master
- the main "development" branch for the current content cycle, feature branches and 3rd party merge requests should be merged into master. PTR should run on master. -
123-feature
(e.g. 966-inventory-sort) - feature branches, which are branched off master. Development happens there. Feature branches should always contain the number of the issue. -
vX.Y.Z
(e.g. v0.3.1) - release branch. At the end of the development cycle (milestone), this branch gets created from master. Live server should run on the latest release branch. -
vX.Y.Z-hfA
(e.g. v0.3.1-hf1) - hotfix branch, in case some issue needs to be hotfixed into the latest release. Keep in mind that hotfixes should also be made in master. Hotfix branches get merged back into the release branch.
As a part of this task, CONTRIBUTING.md will be changed to reflect these changes and it'll also be simplified.
Feel free to discuss this here, if you don't agree with some points. In the end after all if settled, @BigBadWaffle needs to give this the final seal of approval