Skip to content
Permalink
master
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time

CONTRIBUTING

We are using GitHub Actions as a continuous integration system.

For details, see workflows/continuous-integration.yml.

Coding Standards

We are using friendsofphp/php-cs-fixer to enforce coding standards.

Run

$ make coding-standards

to automatically fix coding standard violations.

Dependency Analysis

We are using maglnet/composer-require-checker to prevent the use of unknown symbols in production code.

Run

$ make dependency-analysis

to run a dependency analysis.

Static Code Analysis

We are using phpstan/phpstan and vimeo/psalm to statically analyze the code.

Run

$ make static-code-analysis

to run a static code analysis.

We are also using the baseline features of [phpstan/phpstan(https://medium.com/@ondrejmirtes/phpstans-baseline-feature-lets-you-hold-new-code-to-a-higher-standard-e77d815a5dff) and vimeo/psalm.

Run

$ make static-code-analysis-baseline

to regenerate the baselines in ../phpstan-baseline.neon and ../psalm-baseline.xml.

Ideally, the baselines should shrink over time.

Tests

We are using phpunit/phpunit to drive the development.

Run

$ make tests

to run all the tests.

Mutation Tests

We are using infection/infection to ensure a minimum quality of the tests.

Enable pcov or Xdebug and run

$ make mutation-tests

to run mutation tests.

Extra lazy?

Run

$ make

to enforce coding standards, run a dependency analysis, run a static code analysis, and run tests!

Help

💡 Run

$ make help

to display a list of available targets with corresponding descriptions.