Quibble is the future!
The jobs run on Nodepool Jessie instances with php7.0.
There are some tricks to be ported:
- composer require mediawiki/phpunit-patch-coverage 0.0.9
That is done either in MW_INSTALL_PATH or at the root of the extension triggering the patch. mediawiki/phpunit-patch-coverage looks at the files changed in the patchset and does a comparison.
The current working directory must be your git repository
- git checkout composer.json
- FIXME This is terrible, but composer require creates a dirty diff.
I am not sure whether we care?
- tweak tests/phpunit/suite.xml
The jjb macro prepare-mwext-coverage mangles suites.xml to adjust the coverage path filters.
/srv/deployment/integration/slave-scripts/bin/suite-edit.py $MW_INSTALL_PATH/tests/phpunit/suite.xml --cover-extension "$EXT_NAME"
- new command to be added to Quibble:
./vendor/bin/phpunit-patch-coverage check --command \ "php7.0 -d zend_extension=xdebug.so $MW_INSTALL_PATH/tests/phpunit/phpunit.php" \ --html $WORKSPACE/src/coverage.html
Can be a new phpunit-coverage stage. That should be straightforward.
- archive src/coverage.html
The publish job is slightly easier since it does not need mediawiki/phpunit-patch-coverage :]