[title] Hi. I'm Monty This is Jim. [Lineage] Our build infrasturcture and many of its philosophies come from: MySQL - Launchpad/bzr Drizzle - gated trunk, using all of the launchpad features OpenStack - automated gated trunk via tarmac [gated trunk] So with openStack, we did automated checks of every proposed commit through jenkins and everything was happy [Git Revolt] Then we had a revolt, because the developers wanted to use git. Launchpad has no git support (or in-line code reviews) Github's pull-request have no approval state [Enter Gerrit] Gerrit, from google used by android, has all of the things we needed Except for Launchpad integration So we added it [Bug Integration] Gerrit review launchpad links on bug metions Gerrit topics set from bugs [Launchpad side] Gerrit sends bug control emails with links to the review and the commit State changes- in progress when review is submitted. Fix committed when patch is accepted [Blueprint Integration] Blueprint links in commit messages Topics set from blueprint mentions [Launchpad side] Inject information on commits to blueprints just like bugs Have to use the whiteboard Link to review - but also to the general gerrit topic, since a blueprint might have more than one branch [SSO] Gerrit and Jenkins both use Launchpad OpenID for auth [Jenkins Integration] Gerrit has deep jenkins integration. Listens on an ssh stream and takes active action. Posts back to the review with jenkins links on success or failure [Gerrit Verification] Jenkins fills the gerrit role of verifier. In addition to being approved or denied, a given change can be verified as working or not. [Feature REquest time] Subscribably event triggers Verification status launchpadlib api bindings in non-python [While we're at it] Foreign merge props - bugs were cool, lots of people do code review elsewhere mirrored branches Branch/merge prop integration with blueprints Structured info in blueprints