Hello,
When adding an extension requirement in extension.json, CI would most
probably complain since it does not clone the extension. It has to be
added to the CI configuration:
https://gerrit.wikimedia.org/r/integration/config.git
edit zuul/parameters_functions.py
Add the requirement to the 'dependencies' mapping, then send for review.
Unfortunately one of the CI maintainers would have to approve and deploy it.
As a twist, I wrote a few bits that should make it possible for CI to
automatically process and clone the requirements and thus let us phase
out the central config. But that takes a bit of time to accomplish it
properly.
The long story:
MediaWiki extension registration lets one define a requirement upon
other extension/skins. If one writes an extension that extend
VisualEditor, most probably VisualEditor is required, the extension.json
would thus have:
{
"requires": {
"extensions": {
"VisualEditor": "*"
}
}
}
Due to a bug, CI was no more failing when a requirement was not
fulfilled. In fact the extension would not even be enabled when running
maintenance/install.php --with-extensions
That has been fixed via:
https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/533239/
From now on, on master branch, CI would fail when a requirement is
missing. Unfortunately, CI does not magically clone the requirements
yet, so you would have to also add them to the CI config (see above).
[requirements]
https://www.mediawiki.org/wiki/Manual:Extension_registration#Requirements_(…
--
Antoine "hashar" Musso