From b06595655ec8db5c31751185219829afefcdd04e Mon Sep 17 00:00:00 2001 From: Ondrej Mirtes Date: Fri, 6 Jan 2023 14:32:51 +0100 Subject: [PATCH] New workflow - test Slevomat CS against latest parser --- .../test-slevomat-coding-standard.yml | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .github/workflows/test-slevomat-coding-standard.yml diff --git a/.github/workflows/test-slevomat-coding-standard.yml b/.github/workflows/test-slevomat-coding-standard.yml new file mode 100644 index 00000000..b7d81438 --- /dev/null +++ b/.github/workflows/test-slevomat-coding-standard.yml @@ -0,0 +1,67 @@ +# https://help.github.com/en/categories/automating-your-workflow-with-github-actions + +name: "Test Slevomat Coding Standard" + +on: + pull_request: + push: + branches: + - "1.9.x" + +jobs: + tests: + name: "Tests" + runs-on: "ubuntu-latest" + + strategy: + fail-fast: false + matrix: + php-version: + - "7.3" + - "7.4" + - "8.0" + - "8.1" + - "8.2" + + steps: + - name: "Checkout" + uses: actions/checkout@v3 + + - name: "Checkout Slevomat Coding Standard" + uses: actions/checkout@v3 + with: + repository: slevomat/coding-standard + path: slevomat-cs + ref: 8.7.1 + + - name: "Install PHP" + uses: "shivammathur/setup-php@v2" + with: + coverage: "none" + php-version: "${{ matrix.php-version }}" + + - name: "Install dependencies" + working-directory: slevomat-cs + run: "composer install --no-interaction --no-progress" + + - name: "Remove stable phpdoc-parser" + working-directory: slevomat-cs + run: "rm -r vendor/phpstan/phpdoc-parser/src" + + - name: "Remove top-level phpcs.xml" + run: "rm phpcs.xml" + + - name: "Copy phpdoc-parser" + run: "cp -r src/ slevomat-cs/vendor/phpstan/phpdoc-parser/src" + + - name: "Tests" + working-directory: slevomat-cs + run: "bin/phpunit" + + - name: "PHPStan" + working-directory: slevomat-cs + run: "bin/phpstan analyse -c build/PHPStan/phpstan.neon" + + - name: "PHPStan in tests" + working-directory: slevomat-cs + run: "bin/phpstan analyse -c build/PHPStan/phpstan.tests.neon"