Developer’s guide#
Here a few common agreements within the project.
Everything is pull request based#
Code changes can only be put into the release branch(es) by doing a pull request.
These pull requests then perform a couple of checks automatically. E.g. see Pre-commit tool.
Only if all checks pass and another person reviews and approves the changes, code can be rebased and merged.
Reviews#
You may be automatically assigned to review a code change.
The assignment is randomly chosen by the members of the team, having maintainer status.
Branching strategy#
We do not enforce a branch naming convention at the moment. Still we encourage to use
feat/
prefix for featuresdocs/
prefix for documentations changesfix/
prefix for bug fixeschore/
prefix for repeating tasks
Feature branches will be automatically deleted after the code has been merged.
We tend to cleanup outdated branches, from time to time.
Secrets#
CI secrets are exclusively managed through the Github action secrets.
No hardcoded secret shall be used anywhere.
We have Github and tool checks in place, that potentially will automatically revoke the published secret.
Team based permissions#
Access to a repository is managed through the membership in a particular Github organization team.
As a rule of thumb
clients/*
have read-only accessteam-distro/*
andteam-incubator/*
have maintainer status.
If you are not seeing a certain repository, feel free to ask to be put into the matching team.
CI graphs#
Here a few graphs of the interactions with our CI