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
With pushing this commit the Release Pipeline will started automatically.
The Process

Versioning

This project follows semantic versioning.
In the context of semantic versioning, consider the role contract to be defined by the role variables.
  • 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.

Publishing

Github Release

Github Page