Page MenuHomePhabricator

Write a jenkins job to use hhvm for mwcore unit tests
Closed, ResolvedPublic

Description

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.


Version: wmf-deployment
Severity: normal

Details

Reference
bz62278

Event Timeline

bzimport raised the priority of this task from to Needs Triage.Nov 22 2014, 3:02 AM
bzimport set Reference to bz62278.
bzimport added a subscriber: Unknown Object (MLST).

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