As mentioned previously, the migration from Phabricator to GitHub Pull Requests is approaching. The two key near term dates are:
- Sept 1: Pull requests will become the recommended code review tool for all of llvm-project. Pull requests will be accepted and will no longer be auto-closed.
- Oct 1: Enable the readonly mode on Phabricator.
Both systems will be available during September to allow folks to wrap up ongoing code review and to have a fallback system if there are critical issues with the pull request system. Please use pull requests and do not continue using Phabricator even if you feel it is a better code review tool. As a community, we need to have a standard code review system and avoid fragmentation, and the migration decision was made some time back.
We can delay the Phabricator readonly date if community members raise specific, critical, work-blocking issues with pull requests.
From past discussions, the number one concern has been reviewer subscriptions and notifications. Based on the discussion in this workflow pull request, the current plan is to place CODEOWNERS files at various points in the repository containing names of github teams, similar to the ones we currently use for issue notification subscriptions. New pull requests affecting files within the directory of the CODEOWNERS file will send notifications to the relevant team. Subscribing to issues is a matter of joining an existing team, creating a new one, and placing relevant CODEOWNERS files around the repo. Teams are defined here (hard to find!), and I believe a project admin has to create them and approve folks joining a new team.
I know that many folks are not looking forward to this migration and it will create a lot of work, but I also think that the LLVM community will be better off moving forward with the migration. The migration is going to help new community members ramp up quickly on our processes, and we are going to be able to take advantage of all of the developer productivity tools out there that integrate with pull request workflows. There’s a lot to like about Phabricator, but, as a community, we have to accept some tradeoffs as we move forward.