Skip to content

Latest commit

 

History

History
75 lines (48 loc) · 1.88 KB

internals.md

File metadata and controls

75 lines (48 loc) · 1.88 KB

Internals

Github actions

All our packages have github actions by default, so you can test your contribution in the cloud.

Note: We recommend pull requesting in draft mode until all tests pass.

Docker image

For greater ease it is recommended to use docker containers, for this you can use the docker-compose.yml file that is in the docs folder.

  1. MySQL 8
  2. MariaDB 10.11

For running the docker containers you can use the following command:

MySQL:

docker compose up -d

MariaDB:

docker compose -f docker-compose-mariadb.yml up -d

Unit testing

The package is tested with PHPUnit. To run tests:

  1. Run the docker container for the dbms.
  2. Install the dependencies of the project with composer.
  3. Run the tests.
vendor/bin/phpunit

Mutation testing

The package tests are checked with Infection mutation framework with Infection Static Analysis Plugin. To run it:

./vendor/bin/roave-infection-static-analysis-plugin

Static analysis

The code is statically analyzed with Psalm. To run static analysis:

./vendor/bin/psalm

Code style

Use Rector to make codebase follow some specific rules or use either newest or any specific version of PHP:

./vendor/bin/rector

Dependencies

This package uses composer-require-checker to check if all dependencies are correctly defined in composer.json. To run the checker, execute the following command:

./vendor/bin/composer-require-checker