Wikimedia Release Engineering Team/Project/Differential Migration

Goal
To increase developer output by speeding up development and deployment feedback loops.

Dependencies

 * Operations for needed changes to our infrastructure

Detailed

 * 1516Q4
 * Documentation and workflow explanation
 * communicate workflow differences in Diff vs. Gerrit, particularly with regards to CI integration and landing patches by expanding to include how builds get triggered pre and post merge.
 * This is most likely an on-going task that will continue even past the migration, but we hope to complete the majority of this in Q4
 * Phase 1 repository migration
 * migrate mediawiki-config repository to Differential.
 * Staged migration - ~2 week period -- encourage contribution via differential, don't outright blacklist Gerrit on day 1. Landing involves merging upstream to Gerrit still during migration. End of window we make Gerrit r/o for the repo.
 * Spec out needed glue for Differential to Gearman to Nodepool
 * 1617Q1
 * Build glue from Differential to Gearman to Nodepool
 * Document workflow and creation of CI jobs in Differential (eg: how users add jobs to their repos and how (generic) jobs are maintained for all repos)
 * 1617Q2
 * Phase 2 repository migration
 * puppet & dns
 * random other stuff that's not used much
 * 1617Q3
 * Phase 3 repository migration
 * MediaWiki and WMF deployed extensions goal date March 31st
 * 1617Q4

Movement
This project will enable us to increase developer effeciency by consolidating our code-review and project management tools into Phabricator.

Foundation
Additionally, this will reduce the maintenance overhead that is incurred by having separate code-review and project management tools.

KPI

 * Q1: By the end of Q1 we plan to have a system in place to manage Differential and Nodepool/Continuous Integration interaction, from the baseline of no system in place.
 * Q2: 0% of WMF deployed non-MediaWiki and Extensions are managed in Gerrit.
 * Q3: 0% of WMF deployed repositories are managed in Gerrit.