Athento uses Bitbucket as a code repository. There is a main fast-track branch to which developments are added.
The process to add new code to fast-track is as follows:
- The programmer develops a product feature or any code update locally. Along with the feature, he/she develops the unit tests associated with it, the necessary documentation, and performs other quality tasks.
- The programmer creates a new branch and makes a commit for each completed feature until the assigned task is completed. It is important that once the task is finished the tests are executed locally to check if the feature fails or if it is necessary to modify any test. Once verified and finished, push the commits and open a pull request. The CI tests are executed. The PR has the status of open.
It must then be reviewed and meet the following conditions before being merged into the main branch.
- At least two approvals by default reviewers.
- At least 3 approvals in general, although ideally it should be reviewed by as many engineers as possible.
- That none of the builds fail
- Once the conditions are met, the pull request is merged into fast-track. In case of failures or rejections from the approvers, the engineer has to review the PR again and make the appropriate changes.
- All team members are responsible for reviewing all PRs.