Page MenuHomePhabricator

Create MCR test wiki on WM Cloud
Closed, ResolvedPublic


We need a way to test MCR code before we merge it into core. Even if the patches we merge are not supposed to change behavior, we need a way to make sure that they really don't.

To this end, we need a MediaWiki instance on the WM cloud. It should:

  • run latest production branch of MediaWiki
  • have the essential extensions enabled (if not all)
  • pull in the latest version of a list of patches to try out, either automatically, or via a very simple trigger

Initially, the wiki is intended for manual testing and showcasing. However, it would be quite useful if we could also run selenium tests against it.

While initially this is intended to test that the new code doesn't change any behavior, the same instance sh-ould later be used to test the MIGRATION_WRITE_BOTH mode, and finally the MIGRATION_NEW mode.

Project: mcr-dev project

Test sites:

  • (box: mcr-base.mcr-dev.eqiad.wmflabs) - plain Labs-Vagrant MediaWiki
  • (box: mcr-full.mcr-dev.eqiad.wmflabs) - wiki with lots of extensions (roles: abusefilter, antispam, babel, cite, codeeditor, confirmedit, echo, eventlogging, flow, geodata, globalcssjs, globalusage, hhvm, mobilefrontend, newusermessage, templatesandbox, translate, visualeditor, warnings_as_errors, wikieditor, wikilove)
  • (box: mcr-sdc.mcr-dev.eqiad.wmflabs) - SDC-like testing environment

Event Timeline

daniel triaged this task as Medium priority.Apr 16 2018, 5:14 PM
daniel created this task.
Restricted Application added a project: Wikidata. · View Herald TranscriptApr 16 2018, 5:14 PM
Lydia_Pintscher moved this task from incoming to monitoring on the Wikidata board.Apr 23 2018, 7:18 AM

I requested a project for this to happen in in T194239

bd808 added a subscriber: bd808.May 9 2018, 8:14 PM

We now have both a quota increase request (T193185: Increase quota for wikidata-federation project) and a new project request (T194239: Request creation of mcr-dev VPS project) submitted with this goal as the parent. Are both actually needed? If only one is needed, which is the more useful?

daniel added a comment.May 9 2018, 9:50 PM

@bd808 for SDC, we really want T194239. T193185 may come in handy as a short term solution. And the Wikidata team may want it anyway (or they may not).

Tgr added a subscriber: Tgr.May 14 2018, 1:39 PM
CCicalese_WMF reassigned this task from aude to Tgr.May 15 2018, 2:57 PM
CCicalese_WMF added a subscriber: aude.
Tgr added a comment.May 26 2018, 10:38 AM

The mcr-dev project has three machines now:

  • (box: mcr-base.mcr-dev.eqiad.wmflabs) is a plain MediaWiki (via Labs-Vagrant), with 405015 and 434183 cherry-picked
  • (box: mcr-full.mcr-dev.eqiad.wmflabs) is for testing lots of extensions (none set up yet, please suggest what should be used)
  • (box: mcr-sdc.mcr-dev.eqiad.wmflabs) is an SDC-like testing environment (WIP, should include a commons-like wiki with Wikibase client + repo + WikibaseMediaInfo and a Wikidata-like wiki with Wikibase repo)


  • agree on the list of extensions for mcr-full and install them
  • vagrant role for WikibaseMediaInfo
    • AIUI this will require Wikibase Repo to be installed on the dev and wikidata wikis but not any other one, which might require some refactoring of how Vagrant handles per-wiki config
daniel added a comment.EditedMay 28 2018, 2:43 PM

@Tgr thank you for setting this up!

Rough plan, going forward:

  • test multi-content RevisionStore on mcr-full with ( with MIGRATION_WRITE_BOTH
    • run all the selenium tests
  • merge multi-content RevisionStore, with MIGRATION_WRITE_BOTH. Do we need to hard code a check that forbids MIGRATION_NEW for now.
  • test multi-content RevisionStore on mcr-full (or another instance?!) with ( with MIGRATION_NEW
    • run all the selenium tests
  • merge patch allowing MIGRATION_NEW in code, making it the default for new installations (patch TBD)
Tgr added a comment.May 29 2018, 2:07 PM is for testing lots of extensions (none set up yet, please suggest what should be used)

Draft here:

@Tgr since there are only so few selenium tests for core, and the changes that PageUpdater makes mostly impact when and how hook functions are called, I now think we should test it against mcr-full before merging it. I'll edit my previous comment accordingly.

Tgr added a comment.May 30 2018, 2:38 PM

mcr-full is broken currently due to T195959: Labs-Vagrant cannot reuse the same HTTP(S) port after vagrant reload and also some kind of error with the visualeditor and globalimageusage roles. I'll fix those and test.

Tgr added a comment.May 30 2018, 9:52 PM
tgr@mcr-full:/srv/mediawiki-vagrant$ vagrant roles list -e
Enabled roles:

abusefilter                eventlogging               newusermessage            
antispam                   flow                       templatesandbox           
babel                      geodata                    translate                 
cite                       globalcssjs                visualeditor              
codeeditor                 globalusage                warnings_as_errors        
confirmedit                hhvm                       wikieditor                
echo                       mobilefrontend             wikilove

All issues fixed, I think; at the very least, it provisions cleanly.

Tgr updated the task description. (Show Details)May 31 2018, 8:47 PM
Tgr updated the task description. (Show Details)Jun 7 2018, 3:47 PM
Tgr added a comment.Jun 7 2018, 3:53 PM

mcr-full works fine for manual testing but most of the selenium tests fail, probably due to some of the extensions interfering. I'm not sure how to track that down without visuals, and could not get that to work (T196646: Running selenium inside Vagrant with xvfb or X11 does not work).

Daniel has set up mcr-sdc and made a proper vagrant role for wikibasemediainfo.

Things that could be done (beyond manual testing):

I have created a branch called McrStorageLayerTest on mcr-full.wmflabs now. It has three changes on it:

This is also what we want to deploy to testwiki tomorrow.

This comment was removed by daniel.

Change 405015 had a related patch set uploaded (by Gergő Tisza; owner: Daniel Kinzler):
[mediawiki/core@master] [MCR] Factor PageUpdater out of WikiPage

DannyS712 updated the task description. (Show Details)Aug 9 2019, 6:37 AM