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

Summary table
Must be kept in sync with Wikimedia Release Engineering Team/Goals/201617Year Goal not in a specific quarter: Conclude RFC process -

1516Q4

 * Documentation and workflow explanation -
 * 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 -
 * Write script to migrate open changes from Gerrit to Differential by repository -
 * migrate mediawiki-config repository to Differential -
 * migrate mediawiki-vagrant repository to Differential -
 * Spec out needed glue for Differential to Gearman to Nodepool -
 * Make sure phab can talk to gearman and nodepool instances can talk to phabricator -
 * Determine method of getting changes (diffs) to the nodepool instances -

1617Q1

 * Build glue from Differential to Gearman to Nodepool -
 * Document workflow and creation of CI jobs in Differential -

1617Q2

 * Phase 2 repo migration -
 * puppet & dns
 * random other stuff that's not used much
 * Update Code Review related documentation on wiki pages from Gerrit to Differential - task T207

1617Q3

 * Phase 3 repository migration -
 * MediaWiki and WMF deployed extensions goal date March 31st

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 repositories (but not MediaWiki and Extensions) are managed in Gerrit.
 * Q3: 0% of WMF deployed repositories are managed in Gerrit.