Background
@cjming suggested following T366234: Deploy the Metrics Platform extension
It will take a couple weeks just to propagate a new extension because the code needs to be running on every prod branch before it's enabled.
@Sfaci suggested:
I'm also wondering if we could rename the extension in isolation and then start working on refactoring and testing all the pieces that refer to it. I'm probably wrong and there is a clear process to do something like this (can we map two different names to only one specific extension at least temporarily?), but I wonder how we would coordinate all this to be able to rename the extension itself and refactor all the related codebases.
According to the codesearch result there are 16 different repositories where MetricsPlatform is mentioned (we own three of them). In most of them there are only a few usages but the number of different repositories and teams involved are significant.
Description
Deploy the Test Kitchen extension.
Duplicate the Metrics Platform extension as Test Kitchen as a new project and code repository.
Checklist
- Set up gerrit repo
- Set up Phabricator project
- Create the Extension:TestKitchen documentation page
- Create the Help:Extension:TestKitchen help page
- Add to Developers/Maintainers
Preparing for deployment
Per https://www.mediawiki.org/wiki/Writing_an_extension_for_deployment#Preparing_for_deployment
- Create a deployment tracking task - checklist recursion!
- Deploy to Beta Cluster
- Add the TestKitchen submodule to the git mediawiki/extensions repo << https://gerrit.wikimedia.org/r/c/mediawiki/extensions/+/1214547
- Move TestKitchen CI config to the "Wikimedia production" section, add the "in-wikimedia-production" job template, and make sure it has and passes all the expected jobs for production code. << https://gerrit.wikimedia.org/r/c/integration/config/+/1214551
- Add TestKitchen to the json make-wmf-branch release tool. << pending: https://gitlab.wikimedia.org/repos/releng/release/-/merge_requests/226
- Add TestKitchen to extension-list. This requires that the code be present on every branch running in production, since extension-list is used to build the CDB database for i18n files in both Beta and production. << pending https://gerrit.wikimedia.org/r/c/operations/mediawiki-config/+/1216847
- Add config variables to InitialiseSettings.php: << pending https://gerrit.wikimedia.org/r/c/operations/mediawiki-config/+/1217360
- $wmgUseTestKitchen
- $wgTestKitchenEnableExperiments
- $wgTestKitchenExperimentEventIntakeServiceUrl
- $wgTestKitchenAuthPreserveQueryParamsExperiments
- $wgTestKitchenExperimentStreamNames
- $wgTestKitchenEnableHeadPixel
- Add config variable (same as in previous step) to InitialiseSettings-labs.php and set it to be true on Beta Cluster wikis we want it to be on. Turn it off for loginwiki (which doesn't have most extensions). << pending https://gerrit.wikimedia.org/r/c/operations/mediawiki-config/+/1217360
- Load TestKitchen in CommonSettings-labs.php.
- Passed reviews:
- Security << checked with @Mstyles - no need for security review if it's a rename
- Performance << T368253: MetricsPlatform: Add performance instrumentation
- Deploy on testwiki
- Make sure extension is automatically branched by make-wmf-branch
- Write config patches
- Request a dedicated deployment window
- Schedule the config patches for deployment
- Deploy to production wikis
Acceptance Criteria
Repository: https://gerrit.wikimedia.org/g/mediawiki/extensions/MetricsPlatform
- We've renamed the extension
- Update extension.json and config files
- Refactor code to use new naming
- We've informed teams (or have pushed patches in repos we have access to) that will be impacted by the name change
- We've updated related pages:
- https://doc.wikimedia.org/MetricsPlatform/master/js/index.html
- https://www.mediawiki.org/wiki/Extension:MetricsPlatform
- Update the name of the extension in the documentation. T407804: Rename Docs to Test Kitchen is being done before without covering that thing
- Other docs?