Skip to content

Latest commit

 

History

History
107 lines (64 loc) · 2.48 KB

CONTRIBUTING.md

File metadata and controls

107 lines (64 loc) · 2.48 KB

CONTRIBUTING

We are using GitHub Actions as a continuous integration system.

For details, take a look at the following workflow configuration files:

Coding Standards

We are using ergebnis/composer-normalize to normalize composer.json.

We are using yamllint to enforce coding standards in YAML files.

We are using doctrine/coding-standard 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 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.