The Quibble jobs ends up all running npm test and composer test. Zuul has support for dependent jobs, so we can first run the linter before triggering the Quibble jobs:
- mediawiki-linting: - quibble-vendor-php7 - quibble-composer-hhvm
And Quibble jobs will be invoked with: quibble --skip=npm-test --skip=composer-test.
The devil is figuring out how to first run all the linters (they will vary based on php version). We would probably to reuse the good old single repo jobs:
- mwgate-npm-test-docker
- mwgate-composer-test-hhvm-docker
- mwgate-composer-test-php70-docker
And once they are all completed, get Zuul to run the long running jobs. I have no idea whether Zuul supports multiple parent jobs though.