Development Process¶
Branch Modell¶
As Branchmodel we use a mix of Gitflow and pull-requests.
Gitflow is used for the Release Process, the master
branch present the latest Published Release.
PullRequests are used for integrate external changes and feature
branches into the Develop Branch.
Feature Branch¶
New features will be develop in feature branches like feature/integrate-cuberite
.
Warning
Please dont use use feature/*
branches in your production Environment.
Develop Branch¶
The develop
branch contains the latest unrelesed version from the template, mostly stable ;)
Release Branch¶
Master Branch¶
The master
present the latest published release.
Build¶
Testing¶
Static tests¶
For the Static Tests we use flake8, this will check the style. The cofiguration can found at the tox.ini
Unit tests¶
Integrations tests¶
Releasing¶
You can start the Release process with some commit like:
git commit --allow-empty -m "[GradeUP][skip travis] grade up the branch"
git push origin develop
Update the version to new Release, see Versioning
create the Release Branch
prepare the Develop Branch branch for next version.
Create Github Release
Publish Github Page
execute Integrations tests
delete the Release Branch
Versioning¶
Changes that require user intervention will increase the major version. This includes changing the default value of a role variable.
Changes that do not require user intervention, but add backwards-compatible features, will increase the minor version.
Bug fixes will increase the patch version.