The current Quibble CI jobs for "selenium" run the end-to-end / browser tests for each component in sequence:
wmf-quibble-selenium-php74 (17927): 811 Setup: 15 Versions: 1 Ensure dir: '/workspace/log': 0 Zuul clone : 124 Submodule update: /workspace/src: 8 Install composer dev-requires for vendor.git: 9 Start backends: <MySQL (no socket)>: 3 Run Post-dependency install: 0 Install MediaWiki: 4 npm install in /workspace/src: 5 Start backends: <ExternalWebserver http://127.0.0.1:9413 /workspace/src> <Xvfb :94> <ChromeWebDriver :94>: 0 Browser tests: mediawiki/extensions/Wikibase: 0 Selenium extensions/Wikibase: 205 Selenium extensions/AbuseFilter: 37 Selenium extensions/CheckUser: 26 Selenium extensions/Cite: 80 Selenium extensions/Echo: 17 Selenium extensions/FileImporter: 17 Selenium extensions/GrowthExperiments: 78 Selenium extensions/Math: 13 Selenium extensions/PageTriage: 38 Selenium extensions/ProofreadPage: 37 Selenium extensions/VisualEditor: 40 Selenium skins/MinervaNeue: 23 PostBuildScript: 31
To reduce the time taken for the job, we either need to reduce the time taken to test each extension, or we need to run the tests for the different extensions in parallel.
Explain the benefits and drawbacks of the different approaches.
Acceptance Criteria
- A well-justified evaluation of the benefits and drawbacks to the different approaches to parallelising the browser tests in this Quibble job