Most of our contributions will be focused on our main repository, but sometimes we need to contribute to other repos while working on our main.
In those cases, we need to open a PR to the other repository, apply the changes to our main repository based on the other repo's PR, and adequately document what needs to be reviewed on the description. After approval, the developer needs to merge the other PR and update the main one before merging and submitting for QA again if necessary.
master branch is the code already in production. Every push to this branch is made during the release process after the new app version is already on App Store and Google Play. The code can only be pushed to this branch by the Release Manager.
beta branch is the version submitted to Google Play beta and TestFlight during the beta period. Before submitting our apps to production on the stores, we submit them to beta, so we can properly test, QA, and evaluate the final delivery. This beta release is first generated by creating a PR from the develop branch to beta branch, making sure the new release will be up-to-date with the development cycle. If we find issues during the beta period, we'll only cherry-pick fixes to beta. The code can only be pushed to this branch by the Release Manager.
develop is the default branch on the repository, therefore changes to the code will be most likely pushed to this branch.
After the development is done, the author needs to get the pull request reviewed. We require only one approved review to get the PR ready to merge, but the number of reviewers should vary depending on the complexity of the PR.
After the PR task is approved on Jira and the PR passes the required statuses on Github, the author can merge it. Remember to Squash and Merge so one PR with multiple commits is merged as only one commit on develop. Remember to double-check the PR title is following our guidelines before merging. The author is in charge of getting their PR merged.