When contributing to this repository, please first discuss the change you wish to make via issue before making a change.
- Ensure any install or build dependencies are removed before the end of the layer when doing a build.
- 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 Pull Request would represent. The versioning scheme used is SemVer.
- Once the Pull Requests is signed-off the CODEOWNER will merge it for you.
You should only need to complete this setup once.
If you'd like now is the time to set up SSH and GPG keys.
git clone
the URL given on the Github repo into a directory of your choice.
We will be using the GitFlow branching model.
We have two evergreen branches (persistent branches).
master
always points to ourlatest
release. Merge commits onmaster
are always tagged with the version.dev
is the branch youcheckout -b
and pull request merge into.dev
should always be agreen
build (all checks are green)
We can make three types of temporary branches:
feat/branch-name
: A feature branch is used for most additions. A feature branch always branches offdev
or another feature branch.fix/branch-name
: A fix branch is identical to afeat
branch except it indicates the branch is used only for fixing a bug.hotfix/branch-name
: A hotfix branch is used for critical fixes such as high severity security flaws. Hotfixes are always merged directly intomaster
anddev
.
N.B1 Note all these branches are made using checkout -b
from the appropriate base branch. This naming scheme isn't enforced by Git or Github and is only for clarity.
N.B2 We do not use release branches (we go directly from dev
to master
to reduce complexity)