Skip to content

Instantly share code, notes, and snippets.

@ocean90
Last active October 30, 2021 16:44
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save ocean90/b27b08bdec33591eae777adf0695a2c7 to your computer and use it in GitHub Desktop.
Save ocean90/b27b08bdec33591eae777adf0695a2c7 to your computer and use it in GitHub Desktop.
GitHub Action for running PHP_CodeSniffer on pull requests with annotations
name: PHP_CodeSniffer
on: pull_request
jobs:
phpcs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.3'
coverage: none
tools: composer, cs2pr
- name: Get Composer cache directory
id: composer-cache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Setup cache
uses: pat-s/always-upload-cache@v1.1.4
with:
path: ${{ steps.composer-cache.outputs.dir }}
# Use the hash of composer.json as the key for your cache if you do not commit composer.lock.
# key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-
- name: Install dependencies
run: composer install --prefer-dist --no-suggest --no-progress
- name: Detect coding standard violations
run: vendor/bin/phpcs -q --report=checkstyle | cs2pr --graceful-warnings
@dakorpar
Copy link

I see cache is missing here which on big projects saves a lot of time

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment