Page MenuHomePhabricator

Test/stage environment to view Codex on MediaWiki
Closed, ResolvedPublic

Description

Codex should be tested on MediaWiki before the pilot version is released to production. Right now, the options for real use-case QA are limited to local development environments (not accessible to everyone) and beta cluster deployments (restrictive and tied to deploy trains).

This environment should replicate what it would be like to have Codex and components installed on a real wiki project (not a demo of components in isolation). See T299138 for decision on which project/page to use.

Subtasks:

  • T299956 Develop a "VueTest" MediaWiki extension that can serve as a demo / development sandbox for using Codex components inside a MediaWiki special page
  • T299957 Set up an automated process to stage this environment so DST and QA can review Codex in a MW environment, ideally on a per-patch basis

Event Timeline

egardner updated the task description. (Show Details)

I forked my mediawiki-docker-make repo and added a make command for spinning up MediaWiki with the VueTest extension, from scratch:

https://gitlab.wikimedia.org/mhurd/vuetest-docker

Starting to look at adapting the patch and ticket make commands ( as seen in codex-docker ) next...

I have submitted https://github.com/MatmaRex/patchdemo/pull/445 , which together with the existing support for Codex in PatchDemo should allow us to do what this task asks for through PatchDemo.

I have submitted https://github.com/MatmaRex/patchdemo/pull/445 , which together with the existing support for Codex in PatchDemo should allow us to do what this task asks for through PatchDemo.

This is now deployed. You can use it to create test wikis as follows:

  • Go to https://patchdemo.wmflabs.org/
  • For "configuration preset", choose "Minimal"
  • Click to expand "Choose included repos"
  • Check the checkboxes for "design/codex" and "VueTest"
  • If you want to test an unmerged patch, type its number into the "Then, apply patches" text input
  • Click "Create demo", and wait ~2 minutes
  • When the wiki creation is finished, click the "Open wiki" button
  • Type "Special:VueTest" in the search bar on the top right, and press Enter (or change "Main_Page" in the URL to "Special:VueTest")

For example, I just created this demo wiki based on this Gerrit change.

Screenshot from 2022-03-16 17-34-19.png (914×782 px, 150 KB)
Screenshot from 2022-03-16 17-37-24.png (296×1 px, 36 KB)
Screenshot from 2022-03-16 17-37-49.png (192×527 px, 18 KB)
Screenshot from 2022-03-16 17-38-02.png (772×564 px, 44 KB)

When the "design/codex" checkbox is not checked, the version of Codex that is normally used in MW core is used (i.e. the latest release of Codex). When the "design/codex" checkbox is checked, the latest development version (main branch) of Codex is used instead. You can use the "Then, apply patches" input to test an unmerged patch in Codex, an unmerged patch in VueTest, or both at the same time. You can also test patches in other repos that use Codex, like this test wiki that tests a WIP patch in Vector converting the search bar to Codex.

Wow, this is cool! Now that we have this capability, I'm open to suggestions on ways to develop the VueTest extension to make it more useful for QA testing purposes. Would it make sense to have a single dedicated Special page per Codex component (one page could show multiple variations of course)? Should we try to embed the actual demo code from the docs site inside of MW somehow?