Skip to content

Commit

Permalink
Add PHP code linting
Browse files Browse the repository at this point in the history
  • Loading branch information
wpscholar committed Jan 10, 2023
1 parent 8d27917 commit ff879e0
Show file tree
Hide file tree
Showing 4 changed files with 515 additions and 27 deletions.
63 changes: 63 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Lint
on:
push:
branches:
- '**'
paths:
- '**.php'
pull_request:
types: [opened, edited, reopened, ready_for_review]
paths:
- '**.php'
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: true

jobs:
phpcs:
name: Run PHP Code Sniffer
runs-on: ubuntu-latest
steps:

- name: Checkout
uses: actions/checkout@v3

# User PHP 7.4 here for compatibility with the WordPress codesniffer rules.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
coverage: none
tools: composer, cs2pr

- uses: technote-space/get-diff-action@v6
with:
SUFFIX_FILTER: .php

- name: Get Composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
if: "!! env.GIT_DIFF"

- name: Cache Composer vendor directory
uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
if: "!! env.GIT_DIFF"

- name: Validate composer.json and composer.lock
run: composer validate
if: "!! env.GIT_DIFF"

- name: Install dependencies
run: composer install --no-progress --optimize-autoloader --prefer-dist
if: "!! env.GIT_DIFF"

- name: Detecting PHP Code Standards Violations
run: vendor/bin/phpcs --standard=phpcs.xml -s ${{ env.GIT_DIFF }}
if: "!! env.GIT_DIFF"
75 changes: 49 additions & 26 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,28 +1,51 @@
{
"name": "newfold-labs/wp-module-onboarding",
"description": "Next-generation WordPress Onboarding for WordPress sites at Newfold Digital.",
"type": "library",
"license": "GPL-2.0-or-later",
"authors": [
{
"name": "Dave Ryan",
"email": "[email protected]"
}
],
"autoload": {
"psr-4": {
"NewfoldLabs\\WP\\Module\\Onboarding\\": "includes/"
},
"files": [
"bootstrap.php"
]
},
"require": {
"mustache/mustache": "~2.5",
"wp-cli/wp-config-transformer": "~1.3.0"
},
"require-dev": {
"wp-phpunit/wp-phpunit": "^5.9",
"yoast/phpunit-polyfills": "^1.0"
}
"name": "newfold-labs/wp-module-onboarding",
"description": "Next-generation WordPress Onboarding for WordPress sites at Newfold Digital.",
"type": "library",
"license": "GPL-2.0-or-later",
"authors": [
{
"name": "Dave Ryan",
"email": "[email protected]"
}
],
"autoload": {
"psr-4": {
"NewfoldLabs\\WP\\Module\\Onboarding\\": "includes/"
},
"files": [
"bootstrap.php"
]
},
"config": {
"allow-plugins": {
"dealerdirect/phpcodesniffer-composer-installer": true
}
},
"repositories": [
{
"type": "composer",
"url": "https://newfold-labs.github.io/satis/",
"only": [
"newfold-labs/*"
]
}
],
"require": {
"mustache/mustache": "~2.5",
"wp-cli/wp-config-transformer": "~1.3.0"
},
"require-dev": {
"wp-phpunit/wp-phpunit": "^5.9",
"yoast/phpunit-polyfills": "^1.0",
"newfold-labs/wp-php-standards": "^1.2"
},
"scripts": {
"lint": [
"vendor/bin/phpcs . --standard=Newfold"
],
"clean": [
"vendor/bin/phpcbf . --standard=Newfold"
]
}
}
Loading

0 comments on commit ff879e0

Please sign in to comment.