Configuring a CI Flow of a PHP Project
CI Flow we commonly use in our PHP projects. We usually use CircleCI for run our checks. You can rearrange the orders of the to-do's, we usually follow them this way.
Of course, if the project has some terribly ugly styled codes, no need to continue. PHP CS fixer, Twig
and YML
linters (for Symfony), JS
and CSS
linters (if repo contains also the front-end project) should be run
The static analysis tool PHPStan that previously configurated should be run
Run Symfony Security Checker to informed about security vulnerabilities. (If Dependabot is running for the repository, no need to this step)
Creating a migration for the latest schema updates shouldn't be forgotten
There is no easy way to catch all errors caused by translations in runtime at this step. Therefore, at least, static ones should be checked
The tests, which cover close to 100% of the codebase, should be passed 😬
For CircleCI, you can read the further information from CircleCI & Jira Integration checklist
In order to measure the code coverage changes, notify Codecov. For CicleCI, you can read the further information from CircleCI & Codecov Integration checklist