Last modified: 2014-03-13 15:25:27 UTC
hhvm has been installed on the CI slaves on labs (integration-slave{02,03}.pmtpa.wmflabs). They have the label 'hasHhvm'. We need a wrapper script to run hhvm and load the proper phpunit version. Also need to make sure log are compressed with a trap EXIT. Example is in integration/jenkins.git bin/mw-run-phpunit.php It has some nasty logic to run different group, that can be dropped entirely since hhvm is probably fast enough to run the whole suite in a few minutes. Command line example is in mw/core travis file: https://github.com/wikimedia/mediawiki-core/blob/master/.travis.yml#L54 Might poke that next week.
And the compression I am referring to is a trick: LOG_DIR="$WORKSPACE/log" mkdir -p "$LOG_DIR" # Make sure to compress MediaWiki log dir after phpunit has ran function compress_log_dir() { echo "Compressing logs under $LOG_DIR" gzip --verbose --force --best "$LOG_DIR"/*.log || : } trap compress_log_dir EXIT
Change 117185 had a related patch set uploaded by Hashar: mw-run-phpunit-hhvm: mw tests with HHVM! https://gerrit.wikimedia.org/r/117185
Change 117185 merged by jenkins-bot: mw-run-phpunit-hhvm: mw tests with HHVM! https://gerrit.wikimedia.org/r/117185
Change 117187 had a related patch set uploaded by Hashar: MediaWiki phpunit under HHVM! https://gerrit.wikimedia.org/r/117187
Change 117187 merged by jenkins-bot: MediaWiki phpunit under HHVM! https://gerrit.wikimedia.org/r/117187
The Gerrit change #117187 to jenkins creates the mediawiki-core-phpunit-hhvm job which runs the phpunit test suite using hhvm as provided by the debian package. It fails with a segfault though: https://integration.wikimedia.org/ci/job/mediawiki-core-phpunit-hhvm/2/console Will need to install/update mediawiki using hhvm as well.
Change 117205 had a related patch set uploaded by Hashar: Trigger mediawiki-core-phpunit-hhvm https://gerrit.wikimedia.org/r/117205
Change 117205 merged by jenkins-bot: Trigger mediawiki-core-phpunit-hhvm https://gerrit.wikimedia.org/r/117205
Still have to adjust the job to run the maintenance scripts install.php and update.php with hhvm instead of PHP.
Change 117226 had a related patch set uploaded by Hashar: Enable JIT for unit tests in HHVM https://gerrit.wikimedia.org/r/117226
Change 117226 merged by jenkins-bot: Enable JIT for unit tests in HHVM https://gerrit.wikimedia.org/r/117226
Change 117405 had a related patch set uploaded by Hashar: HHVM opcache in workspace https://gerrit.wikimedia.org/r/117405
Change 117405 merged by jenkins-bot: HHVM opcache in workspace https://gerrit.wikimedia.org/r/117405
A job is triggered now and runs the whole MediaWiki unit test suite. https://integration.wikimedia.org/ci/job/mediawiki-core-phpunit-hhvm/