Page MenuHomePhabricator

Run Parsoid service in quibble
Open, Needs TriagePublicFeature

Description

My work in T218345: Investigate Selenium tests for validating event logging data looked promising locally until it was time to make the tests pass in CI. I've since discovered that the issue documented in T150435#3479616 is going to block further progress. I need Parsoid in Quibble so that my Selenium tests which exercise actions that happen in a VisualEditor context can run.

Looking at quibble/cmd.py#execute, perhaps after with quibble.backend.ChromeWebDriver(display=display): we could also start a Parsoid service? From setting this up locally, I think all we'd need to do is clone the parsoid repo, have a minimal config (~12 lines), and npm run start.

Related Objects

Event Timeline

Change 497222 had a related patch set uploaded (by Kosta Harlan; owner: Kosta Harlan):
[integration/quibble@master] [WIP] Add Parsoid to docker image and run for Selenium tests

https://gerrit.wikimedia.org/r/497222

kostajh changed the subtype of this task from "Task" to "Feature Request".Mar 18 2019, 2:08 AM

Change 497222 had a related patch set uploaded (by Kosta Harlan; owner: Kosta Harlan):
[integration/quibble@master] [WIP] Add Parsoid to docker image and run for Selenium tests

https://gerrit.wikimedia.org/r/497222

@hashar I started with an idea of how this could work but am going to put it on hold. I'm having trouble testing my specific extension locally with Quibble, and you probably have opinions and ideas of how Parsoid could be better installed in the container (or even if you're open to doing that). Let me know if you'd like to talk through it sometime.

Change 497222 abandoned by Kosta Harlan:
Add Parsoid to docker image and run for Selenium tests

Reason:
not going to be pursued, maybe with local-charts someday

https://gerrit.wikimedia.org/r/497222

Change 553333 had a related patch set uploaded (by Kosta Harlan; owner: Kosta Harlan):
[integration/quibble@master] (wip) Add configuration for Parsoid/PHP

https://gerrit.wikimedia.org/r/553333

T235865 is a similar need but requiring ElasticSearch.

Parsoid is in PHP now, could make this easier?

Change 553333 abandoned by C. Scott Ananian:
[integration/quibble@master] (wip) Add configuration for Parsoid/PHP

Reason:
Not needed, w/ VE autoconfig work. See also I19253b15c797054245aa46bcb44f82352967888f

https://gerrit.wikimedia.org/r/553333

Change 703182 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[integration/quibble@master] Load parsoid from vendor as fall-back, and configure

https://gerrit.wikimedia.org/r/703182

Change 703182 merged by jenkins-bot:

[integration/quibble@master] Load Parsoid from vendor as fallback, and configure

https://gerrit.wikimedia.org/r/703182

Change 704936 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/quibble@master] Release Quibble 1.0.0

https://gerrit.wikimedia.org/r/704936

Change 704936 merged by jenkins-bot:

[integration/quibble@master] Release Quibble 1.0.0

https://gerrit.wikimedia.org/r/704936

Change 705907 had a related patch set uploaded (by C. Scott Ananian; author: C. Scott Ananian):

[integration/quibble@master] Revert "Load Parsoid from vendor as fallback, and configure"

https://gerrit.wikimedia.org/r/705907

Running the Parsoid service in quibble was already done; we use it to run api tests in CI. You just need to make Flow depend on the Parsoid extension.

Change 705932 had a related patch set uploaded (by C. Scott Ananian; author: C. Scott Ananian):

[integration/config@master] Allow Flow to use Parsoid for API tests

https://gerrit.wikimedia.org/r/705932

Change 705907 merged by jenkins-bot:

[integration/quibble@master] Revert \"Load Parsoid from vendor as fallback, and configure\"

https://gerrit.wikimedia.org/r/705907