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
>