[QA] CI now supports injecting MediaWiki skin as dependencies

Antoine Musso hashar+wmf at free.fr
Tue Dec 13 10:23:15 UTC 2016


Hello,

When running skins structure tests or selenium tests, we had a need to
clone a skin and have it properly loaded by MediaWiki.  However we had
no support to do up until now.

The way it is implemented, one edits the 'dependencies' dictionary in
integration/config zuul/parameter_functions.py.  The skins can be listed
there by using the prefix 'skins/' and the logic will recognize it as a
skin and do the needful.

Under the hood, the list of skins is passed as a parameter
SKIN_DEPENDENCIES.  That is passed to zuul-cloner so it clones it. When
MediaWiki install.php runs, it will inject the relevant wfLoadSkin() in
LocalSettings.php making the skin available.

The task:
https://phabricator.wikimedia.org/T151593

The first fix has been for the BlueSpiceSkin that depends on the
BlueSpiceFoundation extension. The change is straightforward:

dependencies = {
  skins/BlueSpiceSkin': ['BlueSpiceFoundation'],
  ...

https://gerrit.wikimedia.org/r/#/c/326469/2/zuul/parameter_functions.py

We will now be able to add the Vector skin on the browser tests jobs
that require it.

-- 
Antoine "hashar" Musso




More information about the QA mailing list