Quibble is the future!
| Job
|--
| mwext-phpunit-coverage-patch
| mwext-phpunit-coverage-publish
| mediawiki-phpunit-coverage-patch
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. [[ https://packagist.org/packages/mediawiki/phpunit-patch-coverage | mediawiki/phpunit-patch-coverage ]] looks at the files changed in the patchset and does a comparison.
Unfortunately:
> 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 :]