We use GitHub Actions as a continuous integration system.
For details, take a look at the following workflow configuration files:
workflows/integrate.yaml
workflows/merge.yaml
workflows/release.yaml
workflows/renew.yaml
workflows/triage.yaml
We use roave/backward-compatibility-check
to prevent breaking backwards-compatibility.
Run
make backward-compatibility-analysis
to run a backward-compatibility analysis.
We use ergebnis/composer-normalize
to normalize composer.json
.
We use yamllint
to enforce coding standards in YAML files.
If you do not have yamllint
installed yet, run
brew install yamllint
to install yamllint
.
We use friendsofphp/php-cs-fixer
to enforce coding standards in PHP files.
Run
make coding-standards
to automatically fix coding standard violations.
We use maglnet/composer-require-checker
to prevent the use of unknown symbols in production code.
Run
make dependency-analysis
to run a dependency analysis.
We use infection/infection
to ensure a minimum quality of the tests.
Enable Xdebug
and run
make mutation-tests
to run mutation tests.
We use rector/rector
to automatically refactor code.
Run
make refactoring
to automatically refactor code.
We use composer
to run a security analysis.
Run
make security-analysis
to run a security analysis.
We use phpstan/phpstan
and vimeo/psalm
to statically analyze the code.
Run
make static-code-analysis
to run a static code analysis.
We also use the baseline features of phpstan/phpstan
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 use phpunit/phpunit
to drive the development.
Run
make tests
to run all the tests.
Run
make
to automatically refactor code, enforce coding standards, run a static code analysis, and run tests!
💡 Run
make help
to display a list of available targets with corresponding descriptions.