From 56df50275d2fd25d4955caa58dbddb2d09a056e5 Mon Sep 17 00:00:00 2001 From: Ivan Pugach Date: Wed, 10 Jul 2024 01:14:10 +0300 Subject: [PATCH 1/2] PT-1568: Implement pipeline checks for WooCommere/WordPress plugin --- .github/workflows/code_quality_check.yml | 75 ++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 .github/workflows/code_quality_check.yml diff --git a/.github/workflows/code_quality_check.yml b/.github/workflows/code_quality_check.yml new file mode 100644 index 0000000..cfb38f1 --- /dev/null +++ b/.github/workflows/code_quality_check.yml @@ -0,0 +1,75 @@ +name: Code Quality Check + +on: + pull_request: + branches: + - main + +jobs: + code_quality_phpmd: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.1' + tools: composer + + - name: Install dependencies + run: composer install + + - name: Install PHPMD + run: composer require --dev phpmd/phpmd + + - name: Run PHPMD + run: vendor/bin/phpmd path/to/your/plugin text cleancode,codesize,controversial,design,naming,unusedcode + + code_quality_phpstan: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.1' + tools: composer + + - name: Install dependencies + run: composer install + + - name: Install PHPStan + run: composer require --dev phpstan/phpstan + + - name: Run PHPStan + run: vendor/bin/phpstan analyse path/to/your/plugin --level=max + + code_quality_phpcs: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.1' + tools: composer + + - name: Install PHPCS + run: | + composer global require "squizlabs/php_codesniffer=*" + composer global require "wp-coding-standards/wpcs=*" + + - name: Add composer global bin to PATH + run: echo "$HOME/.composer/vendor/bin" >> $GITHUB_PATH + + - name: Run PHPCS + run: phpcs --standard=WordPress \ No newline at end of file From 25630e92a9058ca5f1686aa24feb5c076f12e954 Mon Sep 17 00:00:00 2001 From: Ivan Pugach Date: Tue, 16 Jul 2024 16:30:44 +0300 Subject: [PATCH 2/2] PT-1568: Fix pipeline checks for WooCommere/WordPress plugin --- .github/workflows/code_quality_check.yml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/.github/workflows/code_quality_check.yml b/.github/workflows/code_quality_check.yml index cfb38f1..10d0bd4 100644 --- a/.github/workflows/code_quality_check.yml +++ b/.github/workflows/code_quality_check.yml @@ -26,7 +26,7 @@ jobs: run: composer require --dev phpmd/phpmd - name: Run PHPMD - run: vendor/bin/phpmd path/to/your/plugin text cleancode,codesize,controversial,design,naming,unusedcode + run: ./vendor/bin/phpmd src,views,assets ansi cleancode,codesize,controversial,design,naming,unusedcode code_quality_phpstan: runs-on: ubuntu-latest @@ -42,13 +42,18 @@ jobs: tools: composer - name: Install dependencies - run: composer install + run: | + composer config --no-plugins allow-plugins.phpstan/extension-installer true + composer install - name: Install PHPStan - run: composer require --dev phpstan/phpstan + run: composer require --dev szepeviktor/phpstan-wordpress phpstan/extension-installer - name: Run PHPStan - run: vendor/bin/phpstan analyse path/to/your/plugin --level=max + run: | + vendor/bin/phpstan analyse src --level=max + vendor/bin/phpstan analyse views --level=max + vendor/bin/phpstan analyse assets --level=max code_quality_phpcs: runs-on: ubuntu-latest @@ -63,6 +68,9 @@ jobs: php-version: '8.1' tools: composer + - name: Allow dealerdirect plugin + run: composer global config --no-plugins allow-plugins.dealerdirect/phpcodesniffer-composer-installer true + - name: Install PHPCS run: | composer global require "squizlabs/php_codesniffer=*" @@ -72,4 +80,4 @@ jobs: run: echo "$HOME/.composer/vendor/bin" >> $GITHUB_PATH - name: Run PHPCS - run: phpcs --standard=WordPress \ No newline at end of file + run: phpcs --standard=WordPress src views assets