When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
If you are new to contributing then please start with "Issues" available on the website.
Please note we have a code of conduct, please follow it in all your interactions with the project.
There are two permanent branches.
-
master
. This branch is the most stable production one. -
develop
. This branch is where actual development takes place.
All tags start with v
.
Examples: v3.2.1
.
The versioning scheme we use is SemVer.
- Ensure that no build files are uploaded and if possible update the gitignore file.
- Update the README.md with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters.
- Increase the version numbers in any examples files and the README.md to the new version that this. Merge Request would represent.
- You may accept the Merge Request in once you have the sign-off of two other developers, or if you do not have permission to do that, you may request the second reviewer to merge it for you.
- All Merge Request needs to be labeled appropriately. Check the Labelling method.
- All Merge Request must also be attached to a milestones.
We use Git flow branching method. Read more about this.
For macOS users brew install git-glow
should work, provided you have Homebrew
installed.
To install Homebrew follow these instructions.
- Run
git flow init
in your project root.
Accept all the defaults:
Branch name for production releases: [master]
Branch name for "next release" development: [develop]
Feature branches: [feature/]
Release branches: [release/]
Hotfix branches: [hotfix/]
Support branches: [support/]
Version tag prefix: []
Instructions to use git-flow:
- Creating a feature branch
git flow feature start feature_branch
- Finishing a feature branch
git flow feature finish feature_branch
- Creating a release branch
git flow release start v0.1.0
- Merging a release branch into master and develop
git checkout master
git checkout merge release/v0.1.0
git flow release finish 'v0.1.0'
- Creating a hotfix branch
git flow hotfix start hotfix_branch
- Finishing a hotfix branch
git flow hotfix finish hotfix_branch
Please use issues as much as possible. Issues are the best way to communicate about the project. Don't email the project maintainers unless necessary.
Please use the template. Every issue must have correct labels, milestone information.
For Bug reports one issue per bug. If multiple bugs are related then use related feature on the website or add the url to the related bug in the Description.
All issues are categorised into three:
-
Priority
- ~"Priority: Critical"
- ~"Priority: High"
- ~"Priority: Medium"
- ~"Priority: Low"
-
Type
- ~"Type: Bug"
- ~"Type: Maintenance"
- ~"Type: Enhancement"
- ~"Type: Discussion"
-
Status
- ~"Status: To Do"
- ~"Status: In Progress"
- ~"Status: In Review"