Last modified: 2013-11-13 20:21:11 UTC
Our first Jenkins runner (gallium) had PHPUnit installed using pear. We then upgraded it from time to time using the pear command. This has at least two issues: - we blindly install from a third party repository - the update has to be done manually on each slave (currently two: gallium and lanthanum). We would need to streamline PHPUnit upgrade process. Either by having it provided by a Debian package or using git-deploy. Culprits: - the Debian package ship 3.6.x while we are relying on PHPUnit 3.7.x - there is no tutorials for git-deploy This prevents us from running PHPUnit jobs on any slaves (bug 53594)
Got to find a solution with ops. Not sure how to do it though.
So pear basically sucks which is not a breaking news. I instead relied on composer. The git repository integration/phpunit hold a snapshot of PHPUnit has installed via composer. Related changes: https://gerrit.wikimedia.org/r/92508 README + composer.json https://gerrit.wikimedia.org/r/92509 result of composer install The MediaWiki core PHPUnit wrapper can be pointed to it using --with-phpunitdir. php phpunit.php --with-phpunitdir /contint-phpunit/vendor/phpunit/phpunit Will attempt to integrate that with the deployment system.
Change 92510 had a related patch set uploaded by Hashar: deployment: integration/phpunit for Jenkins CI slaves https://gerrit.wikimedia.org/r/92510
Change 92510 merged by Akosiaris: deployment: integration/phpunit for Jenkins CI slaves https://gerrit.wikimedia.org/r/92510
# YAY : 'finish' for 'integration/phpunit' completed successfully (now at integration/phpunit-20131029-151743) Now using the deployment system!!!!!!!
So we get deployment now :-] Still have to update our jobs / macro / shell script, which is now bug 56317.
Same as been done for php code sniffer using integration/phpcs.git