From 1b28742c953d00da91289fd4731651c4b0fbea54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tjitse=20Efd=C3=A9?= Date: Fri, 22 Sep 2023 10:42:00 +0200 Subject: [PATCH 1/8] feat: Allow custom phpcs coding standard --- coding-standard/action.yml | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/coding-standard/action.yml b/coding-standard/action.yml index 4d4a947..26d463c 100644 --- a/coding-standard/action.yml +++ b/coding-standard/action.yml @@ -21,17 +21,17 @@ inputs: version: required: false description: "The version of the coding standard to use. If not provided, will use the latest version." - + severity: required: false default: "" description: "The minimum severity required to display an error or warning (default: 5)" - + warning_severity: required: false default: "" description: "The minimum severity required to display a warning" - + error_severity: required: false default: "" @@ -42,6 +42,16 @@ inputs: default: 'false' required: false + coding_standard: + description: 'The coding standard to use, defaults to Magento2' + default: 'Magento2' + required: false + + custom_coding_standard_repo: + description: 'The repository to use for the coding standard, used if you want to use a custom coding standard' + default: '' + required: false + runs: using: composite steps: @@ -79,11 +89,16 @@ runs: run: composer config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true --global if: steps.is-allow-plugins-available.outputs.result < 1 - - name: Install Coding Standard + - name: Install Magento2 Coding Standard shell: bash working-directory: standard run: composer require "magento/magento-coding-standard:${{ inputs.version || '*' }}" + - name: Install Custom Coding Standard + if: ${{ inputs.coding_standard_repo }} + shell: bash + run: composer require "${{ inputs.coding_standard_repo }}" + - name: Register Coding Standard shell: bash working-directory: standard @@ -105,7 +120,8 @@ runs: - name: Coding Standard Check shell: bash run: | - ../standard/vendor/bin/phpcs --standard=Magento2 \ + ../standard/vendor/bin/phpcs \ + --standard="${{ inputs.coding_standard }}" $([ -n "${{ inputs.severity }}" ] && echo "--severity=${{ inputs.severity }}") \ $([ -n "${{ inputs.warning_severity }}" ] && echo "--warning-severity=${{ inputs.warning_severity }}") \ $([ -n "${{ inputs.error_severity }}" ] && echo "--error-severity=${{ inputs.error_severity }}") \ From ef7a0a286c1d053bd0fc50ddce95ca63ac0376fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tjitse=20Efd=C3=A9?= Date: Fri, 22 Sep 2023 10:45:50 +0200 Subject: [PATCH 2/8] Fix naming --- coding-standard/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/coding-standard/action.yml b/coding-standard/action.yml index 26d463c..5c279a0 100644 --- a/coding-standard/action.yml +++ b/coding-standard/action.yml @@ -95,9 +95,9 @@ runs: run: composer require "magento/magento-coding-standard:${{ inputs.version || '*' }}" - name: Install Custom Coding Standard - if: ${{ inputs.coding_standard_repo }} + if: ${{ inputs.custom_coding_standard_repo }} shell: bash - run: composer require "${{ inputs.coding_standard_repo }}" + run: composer require "${{ inputs.custom_coding_standard_repo }}" - name: Register Coding Standard shell: bash From 9911ee6d6c5729f9d2fbec3353053f5eeea12415 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tjitse=20Efd=C3=A9?= Date: Fri, 22 Sep 2023 10:52:39 +0200 Subject: [PATCH 3/8] Use dealerdirect/phpcodesniffer-composer-installer to auto register coding standards --- coding-standard/action.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/coding-standard/action.yml b/coding-standard/action.yml index 5c279a0..1821d4e 100644 --- a/coding-standard/action.yml +++ b/coding-standard/action.yml @@ -89,6 +89,11 @@ runs: run: composer config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true --global if: steps.is-allow-plugins-available.outputs.result < 1 + - name: Install composer require dealerdirect/phpcodesniffer-composer-installer + shell: bash + working-directory: standard + run: composer require dealerdirect/phpcodesniffer-composer-installer + - name: Install Magento2 Coding Standard shell: bash working-directory: standard @@ -99,11 +104,6 @@ runs: shell: bash run: composer require "${{ inputs.custom_coding_standard_repo }}" - - name: Register Coding Standard - shell: bash - working-directory: standard - run: vendor/bin/phpcs --config-set installed_paths ${{ github.workspace }}/standard/vendor/magento/magento-coding-standard,${{ github.workspace }}/standard/vendor/phpcompatibility/php-compatibility - - name: Set ignore warnings flag shell: bash working-directory: standard From 478d81f661c74b736ec7d19606db3e1cd350e6ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tjitse=20Efd=C3=A9?= Date: Fri, 22 Sep 2023 10:54:25 +0200 Subject: [PATCH 4/8] Fix work dir --- coding-standard/action.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/coding-standard/action.yml b/coding-standard/action.yml index 1821d4e..9b26715 100644 --- a/coding-standard/action.yml +++ b/coding-standard/action.yml @@ -102,6 +102,7 @@ runs: - name: Install Custom Coding Standard if: ${{ inputs.custom_coding_standard_repo }} shell: bash + working-directory: standard run: composer require "${{ inputs.custom_coding_standard_repo }}" - name: Set ignore warnings flag From 6c6aebc3dfc4f33223418a11a8917d795bfca589 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tjitse=20Efd=C3=A9?= Date: Fri, 22 Sep 2023 11:00:36 +0200 Subject: [PATCH 5/8] Test --- coding-standard/action.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/coding-standard/action.yml b/coding-standard/action.yml index 9b26715..32fcde2 100644 --- a/coding-standard/action.yml +++ b/coding-standard/action.yml @@ -118,6 +118,10 @@ runs: run: echo "files=$(git diff --name-only --diff-filter=ACMRT ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | xargs)" >> $GITHUB_OUTPUT if: github.event_name == 'pull_request' + - name: Validate input + shell: bash + run: ls -la ${{ github.event_name == 'pull_request' && steps.changed-files.outputs.files || inputs.path }} + - name: Coding Standard Check shell: bash run: | From 272d75f8274e9ea9eae2e6396dd98977d015a9a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tjitse=20Efd=C3=A9?= Date: Fri, 22 Sep 2023 11:04:40 +0200 Subject: [PATCH 6/8] Fix --- coding-standard/action.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/coding-standard/action.yml b/coding-standard/action.yml index 32fcde2..f7af56a 100644 --- a/coding-standard/action.yml +++ b/coding-standard/action.yml @@ -118,15 +118,11 @@ runs: run: echo "files=$(git diff --name-only --diff-filter=ACMRT ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | xargs)" >> $GITHUB_OUTPUT if: github.event_name == 'pull_request' - - name: Validate input - shell: bash - run: ls -la ${{ github.event_name == 'pull_request' && steps.changed-files.outputs.files || inputs.path }} - - name: Coding Standard Check shell: bash run: | ../standard/vendor/bin/phpcs \ - --standard="${{ inputs.coding_standard }}" + --standard="${{ inputs.coding_standard }}" \ $([ -n "${{ inputs.severity }}" ] && echo "--severity=${{ inputs.severity }}") \ $([ -n "${{ inputs.warning_severity }}" ] && echo "--warning-severity=${{ inputs.warning_severity }}") \ $([ -n "${{ inputs.error_severity }}" ] && echo "--error-severity=${{ inputs.error_severity }}") \ From 76ca6910859158c8a137745a2c914610c8ce8719 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tjitse=20Efd=C3=A9?= Date: Fri, 22 Sep 2023 11:36:42 +0200 Subject: [PATCH 7/8] Add docs --- coding-standard-baseline/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/coding-standard-baseline/README.md b/coding-standard-baseline/README.md index 5850ad5..cb6b000 100755 --- a/coding-standard-baseline/README.md +++ b/coding-standard-baseline/README.md @@ -32,4 +32,6 @@ jobs: warning_severity: "8" error_severity: "8" baseline_version: "*" + coding_standard: "Magento2" + custom_coding_standard_repo: "your/custom-repo" ``` From e8d20c9e7c40c104e7ed70aa614defb27a54be9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tjitse=20Efd=C3=A9?= Date: Fri, 22 Sep 2023 11:42:18 +0200 Subject: [PATCH 8/8] Fix docs --- coding-standard-baseline/README.md | 2 -- coding-standard/README.md | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/coding-standard-baseline/README.md b/coding-standard-baseline/README.md index cb6b000..5850ad5 100755 --- a/coding-standard-baseline/README.md +++ b/coding-standard-baseline/README.md @@ -32,6 +32,4 @@ jobs: warning_severity: "8" error_severity: "8" baseline_version: "*" - coding_standard: "Magento2" - custom_coding_standard_repo: "your/custom-repo" ``` diff --git a/coding-standard/README.md b/coding-standard/README.md index cb708ce..ccc6fe9 100644 --- a/coding-standard/README.md +++ b/coding-standard/README.md @@ -30,4 +30,6 @@ jobs: severity: 8 # Optional, will use phpcs default of 5 if not specified. warning_severity: 4 # Optional, will use severity value if not specified. error_severity: 7 # Optional, will use severity value if not specified. + coding_standard: "Magento2" + custom_coding_standard_repo: "your/custom-repo" ```