All six (except for Example) are currently deployed and really should have basic jobs.
Description
Details
- Reference
- bz66926
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Resolved | hashar | T68926 Set up phpunit structure tests for MediaWiki skin repositories | |||
Resolved | None | T70335 mediawiki/skins/Nimbus should pass jshint | |||
Resolved | None | T113860 Fix structure tests for all skins | |||
Resolved | ashley | T111446 ResourcesTest::testStyleMedia with data set #30 ('skins.bluesky', 'screen', 'skins/BlueSky/resources/css/nonarticle.css', stdClass): Stylesheets should not both specify "media" and contain @media |
Event Timeline
Beside the usual jslint/phplint jobs, I am wondering whether we should run qunit jobs with the skin set. Though I think we only ran the qunit job against the default skin.
The tutorial for MediaWiki extensions should be more or less valid for skins : https://www.mediawiki.org/wiki/Continuous_integration/Tutorials/Adding_a_MediaWiki_extension
I have no clue what should be tested so this is on hold until someone figure out the testing strategy to be applied on mediawiki/skins/*
(In reply to Antoine "hashar" Musso from comment #2)
I have no clue what should be tested so this is on hold until someone figure
out the testing strategy to be applied on mediawiki/skins/*
For now just basic lint checks, so php -l, jslint, and I believe we have a test that checks for validity of .less files?
Yeah. There's no reason why a skin couldn't have unit tests or browser tests, but as far as I know none does right now.
They should be, but some code (too tightly integrated with page HTML, like mw.util.addPortletLink) is known not to work with all skins. Not sure if the tests for this and other things will work correctly, but it would be nice to try.
(Example skin too, please: https://git.wikimedia.org/tree/mediawiki%2Fskins%2FExample.git)
Change 148130 had a related patch set uploaded by Hashar:
php lint jobs for MediaWiki skins
Change 148136 had a related patch set uploaded by Hashar:
phplint jobs for MediaWiki skins
I have configured Jenkins and Zuul to trigger a phplint job. The configuration and tests jobs are sharing the same Change-Id: I3ced08099f7283f75f61c170c291f7a80ee79a5b
We still want to add:
- jshint jobs, the skins will have to pass it
- run the MediaWiki tests that do some generic checks such as ensuring resource loader modules are properly registered
Ideally qunit tests :-)
Change 153578 had a related patch set uploaded by Addshore:
Add phplint jobs for 2 skins that were missed
Change 153579 had a related patch set uploaded by Addshore:
Add 2 zuul triggers for skins missing them
Thanks guys.
Can/Should this be closed now? It seems that all skin repos that have something worth testing in them are now being tested. I suggest tracking more interesting things like QUnit jobs in separate bug(s).
The skins must now have a bunch of MediaWiki core tests run on them, just like extensions. Ie the tests under /tests/phpunit/structure/ (which are the PHPUnit 'structure' test suite) and /tests/phpunit/LessTestSuite.php.
There is only linting jobs, no actual test have been setup. See my previous comments:
run the MediaWiki tests that do some generic checks such as ensuring resource loader modules are properly registered
The skins must now have a bunch of MediaWiki core tests run on them, just like extensions. Ie the tests under /tests/phpunit/structure/ (which are the PHPUnit 'structure' test suite) and /tests/phpunit/LessTestSuite.php.
Change 228470 had a related patch set uploaded (by Hashar):
Allow skins to also be tested like extensions can
Change 233694 had a related patch set uploaded (by Hashar):
tests: add structure and less tests to 'skins' suite
Seems like remaining tasks are related to zuul config. Please re-add projects and point me at Vector/Monobook patches if I've missed something.
Change 233694 merged by jenkins-bot:
tests: add structure and less tests to 'skins' suite
Change 291925 had a related patch set uploaded (by Paladox):
Disable testStyleMedia test for skins only
Change 323161 had a related patch set uploaded (by Hashar):
Run MediaWiki 'skins' testsuite on all skins
We now have https://integration.wikimedia.org/ci/job/mw-testskin/ and https://integration.wikimedia.org/ci/job/mw-testskin-non-voting/ that clone mediawiki/core and use composer to install dependencies. The skin is then added and tests are run.
The non-voting job has been added to all skins currently configured in CI. Will see whether it is working properly and we can start making the job voting (just replace with the voting version of the job).
Change 323243 had a related patch set uploaded (by Hashar):
Add MediaWiki testsuite to a few missed skins
Change 323247 had a related patch set uploaded (by Hashar):
Make skin tests to vote when they are passing
The CI part is complete. Skins not passing the structure tests have the job triggered albeit it is non voting. They will be addressed via T113860.
@hashar we need to add support for skin dependacies including supporting skins depending on extensions and skins please?
On eknown skin is the BlueSpiceSkin which requires the BlueSpiceFoundation extension.
Change 228470 abandoned by Paladox:
Enable zuul/jenkins to run unit tests in skin projects