Several extensions depend on the PHP library data-values/javascript. Adrian is working on the WikibaseJavaScriptApi extension and rely on composer.json to fetch it.
The CI jobs running extensions tests and qunit do not use composer in extensions but expect the dependencies to be shipped via mediawiki/vendor. Adrian requested the jobs via T86176 and even went through the trouble of creating more specific jobs in Jenkins https://gerrit.wikimedia.org/r/#/c/180418 .
I know from past experience this open a whole new can of worm that would cause extensions developers to add more and more libraries to their extensions which will end up being a dependency hell when we want to deploy them.
As I understand it, mediawiki/vendor is kind of a global requirement / dependency list for all extensions to be deployed on Wikimedia cluster. Thus I propose to amend it with data-values/javascript .
The Jenkins job roughly does:
git clone mediawiki/core git clone mediawiki/vendor php maintenance/install.php git clone mediawiki/extensions/WikibaseJavaScriptApi php maintenance/update.php # "unit" tests cd tests/phpunit && php phpunit.php --testsuite extensions # qunit tests point a browser at [[Special:JavascriptTest/qunit]]
I am assuming shipping datavalues/javascript in mediawiki/vendor is sufficient to expose it to extensions relying on it.
Side effects: Wikibase is deployed using a custom repository which use composer to ship their libraries. data-values/javascript will probably need to be removed from it since it would be shipped by mediawiki/vendor.