Skip to content
zap

GitHub Action

PHP_CodeSniffer Check with Annotations

v1.2.0 Latest version

PHP_CodeSniffer Check with Annotations

zap

PHP_CodeSniffer Check with Annotations

PHPCS checker with auto annotations out of the box

Installation

Copy and paste the following snippet into your .yml file.

              

- name: PHP_CodeSniffer Check with Annotations

uses: chekalsky/[email protected]

Learn more about this action in chekalsky/phpcs-action

Choose a version

PHP CodeSniffer GitHub Action

This action will help you to run phpcs (PHP_CodeSniffer) with GitHub Actions platform. It also supports annotations out of the box — you don't need to use any tokens to make it work.

How Annotations Works

Usage

Add the following code to .github/workflows/phpcs.yml file.

name: PHPCS check

on: pull_request

jobs:
  phpcs:
      name: PHPCS
      runs-on: ubuntu-latest
      steps:
        - uses: actions/checkout@v2
        - name: PHPCS check
          uses: chekalsky/phpcs-action@v1

Eventually you could also check for warnings.

        ...
        - name: PHPCS check
          uses: chekalsky/phpcs-action@v1
          with:
            enable_warnings: true

You probably would like to have configuration file for PHP_CodeSniffer in order to make it work as you like.

installed_paths and Dealerdirect/phpcodesniffer-composer-installer

If you are using custom standards, you have two options on how to customize this action.

  1. Just use special library which will find and activate all the standards you have in your composer.json.

It will also change phpcs installed_paths setting, but will prefer local phpcs install. That means we should use local phpcs binary in the action. To do so run action with certain parameter.

        ...
        - name: Install dependencies
          run: composer install --dev --prefer-dist --no-progress --no-suggest
        - name: PHPCS check
          uses: chekalsky/phpcs-action@v1
          with:
            phpcs_bin_path: './vendor/bin/phpcs'
  1. Change the installed_paths directly by using another option.
        ...
        - name: PHPCS check
          uses: chekalsky/phpcs-action@v1
          with:
            installed_paths: '${{ github.workspace }}/vendor/phpcompatibility/php-compatibility'