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,693