[go: nahoru, domu]

Page MenuHomePhabricator

Enable mocha parallel testing for Wikibase API E2E tests
Closed, ResolvedPublic

Description

The Wikibase API tests CI job currently takes almost 15 minutes to run:

	mediawiki-quibble-apitests-vendor-php74 (10035): 864
		Setup: 11
		Versions: 1
		Ensure dir: '/workspace/log': 0
		Zuul clone : 90
		Submodule update: /workspace/src: 14
		Install composer dev-requires for vendor.git: 10
		Start backends: <MySQL (no socket)>: 4
		Run Post-dependency install: 0
		Install MediaWiki: 8
		npm install in /workspace/src: 2
		Start backends: <ExternalWebserver http://127.0.0.1:9413 /workspace/src> <Xvfb :94> <ChromeWebDriver :94>: 0
		Run API-Testing: 691
		PostBuildScript: 33

Most of this time (691 seconds) is spent running the API test suite, which is a mocha integration test suite.

mocha supports parallel execution with the --parallel flag. Identify which Wikibase test suites can be parallelised this way, and enable the flag for those suites.

Event Timeline

Change #1051106 had a related patch set uploaded (by Arthur taylor; author: Arthur taylor):

[mediawiki/extensions/Wikibase@master] Enable parallel tests for the mocha e2e API test suite

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

Change #1051336 had a related patch set uploaded (by Arthur taylor; author: Arthur taylor):

[mediawiki/extensions/Wikibase@master] Enable parallel tests for the mocha openapi-validation test suite

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

Change #1051336 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Enable parallel tests for the mocha openapi-validation test suite

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

Change #1051383 had a related patch set uploaded (by Ollie Shotton; author: Ollie Shotton):

[mediawiki/extensions/Wikibase@master] REST: Remove unused setup.js file

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

Change #1051383 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] REST: Remove unused setup.js file

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

The patches have reduced the runtime by over three minutes:

	mediawiki-quibble-apitests-vendor-php74 (10461): 664
		Setup: 35
		Versions: 1
		Ensure dir: '/workspace/log': 0
		Zuul clone : 101
		Submodule update: /workspace/src: 14
		Install composer dev-requires for vendor.git: 9
		Start backends: <MySQL (no socket)>: 4
		Run Post-dependency install: 0
		Install MediaWiki: 10
		npm install in /workspace/src: 0
		Start backends: <ExternalWebserver http://127.0.0.1:9413 /workspace/src> <Xvfb :94> <ChromeWebDriver :94>: 0
		Run API-Testing: 468
		PostBuildScript: 22

The api-testing and openapi-validation suites run in parallel - other extensions still run in serial. So there's some low-hanging fruit still, but mediawiki-quibble-apitests-vendor-php74 is no longer the longest-running job.

Change #1051106 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Enable parallel tests for the mocha e2e API test suite

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