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_(dependencies)


--
Antoine "hashar" Musso


_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to