GitHub Action for PHP-CS-Fixer
NOTE: If you didn't create a
.php-cs-fixer.dist.php
file, do that first before adding this workflow. An example of this file created by the creators of PHP-CS-Fixer can be found here.
Usage
You can use it as a GitHub Action like this:
# .github/workflows/lint.yml
on: [push, pull_request]
name: Main
jobs:
php-cs-fixer:
name: PHP-CS-Fixer
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: PHP-CS-Fixer
uses: docker://oskarstark/php-cs-fixer-ga
To use a custom config, e.g. --diff
and --dry-run
options:
# .github/workflows/lint.yml
on: [push, pull_request]
name: Main
jobs:
php-cs-fixer:
name: PHP-CS-Fixer
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: PHP-CS-Fixer
uses: docker://oskarstark/php-cs-fixer-ga
+ with:
+ args: --config=.project.php_cs --diff --dry-run
Usage with cache
Add .php-cs-fixer.cache
to .gitignore
, then:
on: [push, pull_request]
name: Main
jobs:
php-cs-fixer:
name: PHP-CS-Fixer
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: .php-cs-fixer.cache
key: ${{ runner.OS }}-${{ github.repository }}-phpcsfixer-${{ github.sha }}
restore-keys: |
${{ runner.OS }}-${{ github.repository }}-phpcsfixer-
- name: PHP-CS-Fixer
uses: docker://oskarstark/php-cs-fixer-ga
You can copy/paste the .github/
folder (under examples/
) to your project and that's all!
Docker
A Docker image is built automatically and located here: https://hub.docker.com/r/oskarstark/php-cs-fixer-ga
You can run it in any given directory like this:
docker run --rm -it -w=/app -v ${PWD}:/app oskarstark/php-cs-fixer-ga:latest
A picture is worth a thousand words
You can find a working and not working PR here: https://github.com/OskarStark/test-php-cs-fixer-ga/pulls