We are using GitHub Actions as a continuous integration system.
For details, see workflows/continuous-integration.yml
.
We are using friendsofphp/php-cs-fixer
to enforce coding standards.
Run
$ make coding-standards
to automatically fix coding standard violations.
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.
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.
We are using phpunit/phpunit
to drive the development.
Run
$ make tests
to run all the 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.
Run
$ make
to enforce coding standards, run a dependency analysis, run a static code analysis, and run tests!
💡 Run
$ make help
to display a list of available targets with corresponding descriptions.