Hello,
A month after this announcement and after a year worth of work, the new
jobs have been deployed!
I have crafted two new jobs:
* mediawiki-phpunit-hhvm
* mediawiki-phpunit-zend
Which are triggered whenever a patch is proposed to the repos:
mediawiki/core
mediawiki/vendor
Or the extensions:
Echo
JsonConfig
Mantle
MobileApp
MobileFrontend
VisualEditor
WikiGrok
ZeroBanner
ZeroPortal
The jobs clone all of those repositories and run the MediaWiki core
extension test suite, ie:
cd tests/phpunit
php phpunit.php --testsuite extensions
They are NOT run on old branches (REL1_19, REL1_22, REL1_23, REL1_24),
the old jobs are.
They are run (and pass) on master and wmf branches and will on future
REL branch (ie REL1_25).
Side effect: if one deprecate a function/method in mediawiki/core and it
is used by one of the extensions above, the job will fail until the
extensions have been updated adjusted.
I hope to add more extensions to that list and also craft a command that
would let one verify whether an extension is a good candidate for inclusion.
Will announce on wikitech-l.
--
Antoine Musso
Le 09/12/2014 16:09, Antoine Musso a écrit :
Hello Mobile!
Fairly recently, a code cleanup in Mantle caused a back compatibility
issue with several other extensions such as MobileFrontend and
ZeroPortal. It could have been caught if, when the Mantle patch has
been proposed, we had Jenkins to run the tests of the other extensions.
Over the summer I wrote code that supports testing extensions together
and I wrote an RFC which got approved [RFC] I am now looking for
extensions to tests together and the mobile related ones seems to be
good candidate.
If you agree, I will craft a Jenkins job that clones:
- Mediawiki core + Vendor
- JsonConfig
- Mantle
- MobileApp
- MobileFrontend
- WikiGrok
- ZeroBanner
- ZeroPortal
And run the MediaWiki PHPUnit test suite. The new job, will be triggered
for changes made on any of those repositories and be non voting while it
is being refined. Once we are happy about it, I would remove the
'-testextension' jobs and make it voting.
Next, we can reuse the same logic for -qunit and -qunit-mobile jobs and
ends up with well integrated set of repositories.
The evil plan for next year, is to extend that to all extensions
deployed on the Wikimedia cluster.
Crazy?
[RFC] tis a long read
https://www.mediawiki.org/wiki/RFC/Extensions_continuous_integration