CONTRIBUTING

November 27, 2024 ยท View on GitHub

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 friendsofphp/php-cs-fixer to enforce coding standards in PHP files.

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.

Phar

We are using humbug/box to compile a Phar.

Run

make phar

to compile a Phar.

Static Code Analysis

We are using phpstan/phpstan to statically analyze the code.

Run

make static-code-analysis

to run a static code analysis.

We are also using the baseline feature of phpstan/phpstan.

Run

make static-code-analysis-baseline

to regenerate the baseline in ../phpstan-baseline.neon.

:exclamation: Ideally, the baseline should shrink over time.

Tests

We are using phpunit/phpunit to drive the development.

Run

make tests

to run all the tests.

Extra lazy?

Run

make

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

Help

:bulb: Run

make help

to display a list of available targets with corresponding descriptions.