MozReview

Commit-centric code review platform

Mark Côté

mcote

Manager, Automation and Tools (A-Team)

Whistler

June 24, 2015

(yeah it probably needs a better name)

Old & busted patch-based approach

$ hg qref --message "-b d -p linux64 -u all -t none"
$ hg push -f try
$ hg push mozilla-inbound

Very manual process

Developer has to be around to land on inbound

Reviewer wastes time with style nits

Old & busted patch-based approach

We're the A-Team

The "A" stands for "automation"

(and "awesome")

We're also Dev Services

(but they don't have a cool logo)

MozReview is a commit assembly line

Commits move from inspection station to inspection station,

ending up eventually in mozilla-inbound

First stations are staffed by robots

First stations are staffed by robots

  • Static analysis
  • Uplift analysis
  • Regression analysis
  • Try run
    • with intelligent test selection
  • Intelligent (human) reviewer selection

Robots leave reviews with open issues:

Only when the robots grant approval do human reviewers get involved

using more powerful review tools:

highlighting moved/rearranged code

context

interdiffs that actually work

edit code directly

After human approval, commits queue up to land on inbound

no action needed by author

automatic try run before landing

no integration branches: linear history

After human approval, commits queue up to land on inbound

landings resume after tree closure

landings can be spread out through the day

automatic annotation of reviewers, link to MozReview request, etc.

Anticipate problems

detect when commits can't cleanly apply

detect when multiple commits touch the same files

We're constantly improving it

MozReview isn't perfect

http://mozilla-version-control-tools.readthedocs.org/en/latest/mozreview.html

Talk & tutorial: WCC Garibaldi A, Friday 3:00 pm

MozReview

By mcote

MozReview

  • 1,593