This page will help you run continuous integration for PHP CodeSniffer and PHP-CS-Fixer using GitHub Actions.
To setup GitHub Actions in your repository, create a .github/workflows/ci.yml
file in your repository and commit it.
The content of that file depends on the tool you want to run, please read the examples below.
Note: the examples below are provided to get you started easily, it is possible you may need to adjust them to fit your project.
If you do not use a custom standard, you can start from this example:
name: php-cs-fixer
on: [push, pull_request]
jobs:
php-cs-fixer:
name: php-cs-fixer
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: PHP-CS-Fixer
uses: OskarStark/[email protected]
with:
args: --diff --dry-run
If you need to install a custom standard via composer.json
:
name: php-cs-fixer
on: [push, pull_request]
jobs:
php-cs-fixer:
name: php-cs-fixer
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v1
with:
php-version: '7.4'
extensions: mbstring, intl, gd, xml, dom, json, fileinfo, curl, zip, iconv
- uses: actions/checkout@master
- run: composer install --prefer-dist
- run: ./vendor/bin/php-cs-fixer fix --diff --dry-run
Make sure squizlabs/php_codesniffer
is required in composer.json
, then use this template:
name: phpcs
on: [push, pull_request]
jobs:
phpcs:
name: phpcs
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v1
with:
php-version: '7.4'
extensions: mbstring, intl, gd, xml, dom, json, fileinfo, curl, zip, iconv
- uses: actions/checkout@master
- run: composer install --prefer-dist
- run: ./vendor/bin/phpcs src
The .prettyci.composer.json
can be removed after you move to GitHub Actions.
Remember to remove your project in the PrettyCI dashboard, else PrettyCI will still process it.