Skip to main content

Source & version control

All source code is version controlled with Git. We also use Github to host our code as well as manage projects, issues and code reviews.

Project Differences

Certain projects (EG: robin-client) may have a slightly different git flow, so please refer to project specific documentation first.

Gitflow

We use a branching model similar to gitflow but we perform code reviews on Github pull requests before it is merged upstream, we are also a small team and do not work on a develop. When working on a feature/task/bug an engineer will go through the following steps.

  1. Create a new branch off of master prefixed by either feature/task/bug. eg: git checkout -b feature/easypayPayments
  • if multiple engineers are working on the same feature they will branch off this branch.
  1. A draft pull request is created in Github. This has 2 benefits
  • Engineers can review a diff of the branch
  • CI server runs the test suite everytime a commit is made
  1. Draft pull request is marked as 'Ready for review'
  2. Additional commits may take place based on feedback
  3. Pull request is squashed and merged into master

Policy with source code

  • Don't leak secrets, keys or private tokens in your github repository.
  • Create .gitignore files for dependencies
  • Lock package versions

Services Hosted

All services are on Github. The main repos for reOS are