the -lint job is simply making sure the submitted PHP files do pass the linting which is almost always true. It then triggers the unit/integration tests.
The mediawiki-core-jslint runs the Javascript lint, if that fails, that does not prevent the tests to run :/
If I understand it correctly, your proposal would let me have a first stage made of typos/linting checks. Then if and only if all jobs are successful, a second staged is triggered.
For MediaWiki core the gating layout is:
gate- and-submit: core-merge: core-phpcs- HEAD core-jslint core-jsduck core-lint: core-phpunit- databaseless: core-install- sqlite: core-qunit core-phpunit- api core-phpunit- misc core-phpunit- parser
- mediawiki-
- mediawiki-
- mediawiki-
- mediawiki-
- mediawiki-
- mediawiki-
- mediawiki-
- mediawiki-
- mediawiki-
- mediawiki-
- mediawiki-
the -lint job is simply making sure the submitted PHP files do pass the linting which is almost always true. It then triggers the unit/integration tests.
The mediawiki- core-jslint runs the Javascript lint, if that fails, that does not prevent the tests to run :/
If I understand it correctly, your proposal would let me have a first stage made of typos/linting checks. Then if and only if all jobs are successful, a second staged is triggered.
So my layout would be something like:
gate-and-submit: core-phpcs- HEAD core-jslint core-jsduck core-phpunit- databaseless: core-install- sqlite: core-qunit core-phpunit- api core-phpunit- misc core-phpunit- parser
stage-lint:
- mediawiki-
- mediawiki-
- mediawiki-
- mediawiki-core-lint
- stage-fasttests:
- mediawiki-
- mediawiki-
- mediawiki-
- mediawiki-
- mediawiki-
- stage-slowtests:
- mediawiki-