backend-monorepo Post Migration to Github
Overview
Hi folks, Backend Infra just removed mirror of backend-monorepo repository to Phabricator. We also have made the repository in Phabricator as read-only. Therefore, you are required to fully use backend-monorepo in Github instead. This repository is owned by Backend Infra as the admin. Should you want to apply any changes to the repository configuration, kindly raise an issue and provide detailed changes and context for it. Any pipelines for backend-monorepo in Jenkins should be migrated to CodeBuild as Jenkins will be decommissioned alongside with Phabricator by end of this year.
What Are the Changes?
- backend-monorepo in Phabricator has been changed to read-only.
- Should you have any un-landed diffs, you should move it to Github by creating pull request for it.
- backend-monorepo repository is owned by Backend Infra as admin, while backend team is granted write access.
- Any configuration changes in the repository settings will require you to raise an issue and provide detailed changes and context for it.
- For example, if you want to enable branch protection for your release branch.
- Branch protection for develop branch is enabled, enforces the pull request to be reviewed by at least 1 person and passed status check by CodeBuild before it can be merged.
- Deactivate Jenkins pipeline backend-traveloka-product-codereview
What Do You Need to Do?
- Check your remote origin in local to confirm if it has been set to Github repository.
- If not, set it to Github using this command
git remote set-url origin git@github.com:traveloka/backend-monorepo.git
- Using Github pull request instead of arc diff.
- If you have any pipelines for backend-monorepo in Jenkins, migrate it to CodeBuild.
- Phabricator repository won’t receive any update because the mirror has been removed. If you can’t migrate your pipeline directly, as quick workaround you need to change the build source to Github repository instead.
- As backend-monorepo is considered deprecated, you need to migrate your code to your own repository as well.
- You need to ensure that your branch is sufficiently up-to-date with develop branch to avoid broken develop due to interaction between multiple pull requests.
- We don’t enable
Require branches to be up to date before merging
option. Enabling it will slow down our engineers to merge their pull requests due to multiple engineers might merge their pull requests at the same time and only one pull requests will be merged, while the others need to rebase the changes first.
- We highly recommend to use
rebase
instead of merge
when you want to apply recent changes in develop to your own branch.
References
This post is a copy of confluence blog post backend-monorepo Post Migration to Github