Continuous integration/PHP CodeSniffer

From MediaWiki.org
Jump to: navigation, search

PHP CodeSniffer is a utility to detect code style errors in PHP code. We use composer as a wrapper to manage the CodeSniffer version, dependencies, and execution.

First, fetch the development dependencies by running composer update.

For most MediaWiki extensions, skins and PHP libraries, executing composer test will also execute CodeSniffer. Due to the large size of MediaWiki core, it is exposed as a separate command, composer phpcs. If you run into issues with composer timing out, you can run it directly with vendor/bin/phpcs -p.

Versioning[edit]

It is recommended that you pin a specific version in your composer.json file. We try to adhere to the spirit of semver.org, but not the actual standard. The main thing we are concerned about is ensuring that no matter what, if when you run composer test, it will pass if it previously passed, and not randomly fail because a new version was released. The build randomly failing is pain when you're trying to backport a patch or just trying to develop something and need to interrupt your work to fix it.

We are currently using 0 as our major version, and will bump the minor version for new sniffs, and bump the patch version for bug fixes or enhancements to existing sniffs. No stability is guaranteed for the actual PHP code included.

See also[edit]