|
|
(7 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
| = Phabricator at Mozilla = | | = Phabricator at Mozilla = |
|
| |
|
| In May 2017 the Engineering Operations team announced that code-review functionality in bugzilla.mozilla.org, aka BMO, and MozReview will be fully replaced by Differential,
| | Mozilla runs a Phabricator instance at https://phabricator.services.mozilla.com/, mainly for code review. It is currently the preferred solution for code review. [[EngineeringProductivity/Projects/MozReview|MozReview]] was decommissioned in 2018Q3, and Splinter has been decommissioned in 2019. |
| Phabricator’s code-review tool, for Firefox and closely related products, that is, any code going into [https://hg.mozilla.org/mozilla-central mozilla-central].
| |
|
| |
|
| The Phabricator system is part of Engineering Operations' larger [[EngineeringProductivity/Projects/Conduit|Conduit]] project to provide better automation, tracking, and visualization of the pipeline from initial patch submission through to landing in release branches.
| | Also see [[Lando]], an automatic code-landing system integrated with Phabricator. |
|
| |
|
| = BMO Integration =
| | Phabricator and Lando are maintained by the [[Engineering Workflow]] team. |
|
| |
|
| Since issue tracking and code review are tightly related, and since BMO is currently the authority for identity and authorization around both issue tracking and code review, including security and other confidential bugs and fixes, our Phabricator instance will be integrated with BMO. This integration will only be to the degree needed in order to limit customization of Phabricator, which has both maintenance and opportunity costs.
| | = Documentation = |
|
| |
|
| == Identity ==
| | User documentation for Mozilla's Phabricator instance is available on [https://moz-conduit.readthedocs.io/en/latest/ Read the Docs]. There is also a [[/FAQ|user FAQ]] for Phabricator and Lando. |
|
| |
|
| The main way to log into Phabricator will be via BMO's auth delegation. A user logging into Phabricator will be taken to BMO to log in as usual and will be redirected back to Phabricator if the login succeeds. If this is the first time the user has logged into Phabricator, they will be prompted to create an account. They can choose to use their BMO email address or provide a new one, which will be separately verified. New users will also be prompted to enter a separate username, unlike BMO. This username will be used by Autoland to denote reviewers when constructing the final commit message.
| | = Operations and Testing = |
|
| |
|
| == Links from Differential to BMO ==
| | * [[Phabricator/UpgradeProcess|Upgrade process]] |
| | * [[Phabricator/TestPlan|Test plan]] |
|
| |
|
| A bug number must be entered when a patch is submitted to Phabricator. This will be stored in the revision metadata and provided in the UI as a link to the associated bug on BMO.
| | = Background = |
| | |
| == Links from BMO to Differential == | |
| | |
| Upon the creation of a new revision in Differential, a stub attachment, containing only the URL of the revision, will be added to the associated bug. Based on the attachment type, BMO will automatically redirect to Differential if the attachment link is clicked.
| |
| | |
| == Authorization ==
| |
| | |
| If a bug has one or more security groups applied to it, that is, it has restricted visibility, any Differential revisions associated with it will similarly be restricted in visibility. This will initially only apply to Firefox security groups, that is, groups with names matching ''*core-security*''. Any revision associated with a bug restricted via other groups, e.g. infra, will be visible only to the author and admins. We can add proper support for such groups on request.
| |
| | |
| == Review flags ==
| |
| | |
| For simplicity, and since Differential's review system does not map cleanly to BMO's review flags, r+ flags, and only r+ flags, will be set on the stub attachment associated with a Differential revision when a Phabricator user performs an "Accept Revision" action. The flag will be removed if the user later issues a "Request Changes" or a "Resign as Reviewer" action. Similarly, all r+ flags will be removed if the author selects any of the "Plan Changes", "Request Review", or "Abandon Revision" actions. In the last case, the stub attachment will also be obsoleted.
| |
| | |
| = FAQ =
| |
| == Why the change? == | | == Why the change? == |
|
| |
|