Skip to content

Files

Latest commit

 

History

History
247 lines (220 loc) · 12.7 KB

reviews.rst

File metadata and controls

247 lines (220 loc) · 12.7 KB

Getting reviews

Thorough code reviews are one of Mozilla's ways of ensuring code quality. Every patch must be reviewed by the module owner of the code, or one of their designated peers.

Commit message syntax

When submitting your commit(s), use the following syntax to request review for your patch:

Request Syntax Description
Single reviewer r=reviewer Request a review from a single reviewer (reviewer). Historically, the syntax r?reviewer requested a review, and r=reviewer marked the reviewer who accepted the patch before landing. Both can now be used interchangeably when requesting a review.
Multiple reviewers r=reviewer1,reviewer2 Request reviews from both reviewer1 and reviewer2.
Blocking review r=reviewer! Request a blocking review from reviewer. This means that reviewer must review the patch before it can be landed.
Both optional and blocking reviews r=reviewer1,reviewer2! Request a blocking review from reviewer2, and an optional review from reviewer1.
Review groups r=#review-group Request a review from members of #review-group. A full list can be found below.
Blocking review groups r=#review-group! Request a blocking review from a review group. This will require at least one member of the group to approve before landing.

For example, the commit syntax to request review from group group-name or developer-nickname would be:

Bug xxxx - explain what you are doing and why r?#group-name

or

Bug xxxx - explain what you are doing and why r?developer-nickname

Reviews, and review groups, can be selected or adjusted after submission in the phabricator UI.

Sometimes when publishing a patch, groups will automatically be added as blocking reviewers due to the code being touched. In this case, you may want to check that the reviewers you requested review from are set to blocking as well.

Choosing reviewers

  • If you have a mentor assigned on the bug you are fixing, the mentor can usually either also review or find a suitable reviewer on your behalf.
  • If you do not have a mentor, see if your code fits into one of the review groups below, and request review from that group.
  • Otherwise, try looking at the history of the file to see who has modified it recently. (For example, hg log <modified-file> or git log <modified-file>)
  • Finally if you are still unable to identify someone, try asking in the #introduction channel on Matrix.

Getting attention

Generally most reviews will happen within roughly a week. If, however, a reviewer doesn't respond within a week or so of the review request:

  • Contact the reviewer directly (either via e-mail or on Matrix).
  • Join developers on Mozilla's Matrix server, and ask if anyone knows why a review may be delayed. Please link to the bug too.
  • If the review is still not addressed, mail the reviewer directly, asking if/when they'll have time to review the patch, or might otherwise be able to review it.

Remember that reviewers are human too, and may have complex reasons that prevent them from reviewing your patch in a timely manner. Be confident in reaching out to your reviewer, but be mindful of the Mozilla Community Participation Guidelines while doing so.

For simple documentation changes, reviews are not required.

For more information about the review process, see the :ref:`Code Review FAQ`.

Review groups

Name Owns Members
#anchor-positioning-reviewers Anchor positioning - related style and layout code Member list
#anti-tracking Core: Anti-Tracking Member list
#build or #firefox-build-system-reviewers The configure & build system Member list
#cookies Core: Cookies Member list
#cubeb-reviewers cubeb, Gecko's audio input/output library and associated projects (audioipc, cubeb-rs, rust cubeb backends) Member list
#desktop-theme-reviewers User interface CSS Member list
#devtools-reviewers Firefox DevTools Member list
#dom-core Core: DOM Member list
#dom-worker-reviewers DOM Workers Member list
#dom-storage-reviewers DOM Storage Member list
#extension-reviewers WebExtensions and Toolkit::Add-ons Manager Member list
#fluent-reviewers Fluent (FTL) files (translation). Member list
#firefox-source-docs-reviewers Documentation files and its build Member list
#firefox-ux-team User experience (UX) Member list
#firefox-svg-reviewers SVG-related changes Member list
#frontend-codestyle-reviewers ESLint, Prettier or Stylelint configurations. Member list
#android-reviewers Fenix, Focus and Android Components. Member list
#geckoview-reviewers GeckoView Member list
#gfx-reviewers Graphics code Member list
#intermittent-reviewers Test manifest changes Member list
#ipc-reviewers Core: IPC Member list
#layout-reviewers Layout Member list
#layout-grid-reviewers layout/grid Member list
#linter-reviewers tools/lint/* Member list
#mac-reviewers Mac-specific code Member list
#media-playback-reviewers Media playback Member list
#mozbase Mozbase Member list
#mozbase-rust Mozbase in Rust Member list
#necko-reviewers network code (aka necko, aka netwerk) Member list
#nss-reviewers Network Security Services (NSS) Member list
#perftest-reviewers Perf Tests Member list
#permissions or #permissions-reviewers Permissions Member list
#places-reviewers Bookmarks & History (Places) Member list
#platform-i18n-reviewers Platform Internationalization Member list
#preferences-reviewers Firefox for Desktop Preferences (Options) user interface Member list
#recomp-reviewers or #reusable-components-reviewers UI Widgets, Design Tokens, Storybook Member list
#remote-debugging-reviewers Remote Debugging UI & tools Member list
#search-reviewers Search Member list
#sessionstore or #sessionstore-reviewers Firefox: Session Restore Member list
#spidermonkey-reviewers SpiderMonkey JS/Wasm Engine Member list
#static-analysis-reviewers Static Analysis Member list
#style or #firefox-style-system-reviewers Firefox style system (servo, layout/style). Member list
#supply-chain-reviewers Third-party audits and vendoring (cargo-vet, supply_chain). Member list
#tabbrowser or #tabbrowser-reviewers Firefox: Tabbed Browser Member list
#theme or #desktop-theme-reviewers Firefox: Theme and Toolkit: Themes Member list
#translations-reviewers Firefox: Translation Member list
#urlbar-reviewers Urlbar (Address Bar) Member list
#view-transitions-reviewers or #view-transitions or #vt View Transitions (dom/view-transitions, and the relevant style / layout / gfx code). Member list
#webcompat-reviewers System addons maintained by the Web Compatibility team Member list
#webdriver-reviewers Marionette and geckodriver (including MozBase Rust), and Remote Protocol with WebDriver BiDi, and CDP. Member list
#webgpu-reviewers WebGPU code Member list
#webidl WebIDL Member list
#xpcom-reviewers XPCOM Member list

To create a new group, fill a new bug in Conduit::Administration. See bug 1613306 as example.