diff options
Diffstat (limited to '.github/workflows/php-code-quality.yml')
| -rw-r--r-- | .github/workflows/php-code-quality.yml | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/.github/workflows/php-code-quality.yml b/.github/workflows/php-code-quality.yml new file mode 100644 index 000000000..9a4618132 --- /dev/null +++ b/.github/workflows/php-code-quality.yml @@ -0,0 +1,67 @@ +name: PHP Code Quality + +on: + pull_request: + paths: + - '**.php' + - 'phpstan.neon' + push: + branches: + - main + paths: + - '**.php' + - 'phpstan.neon' + # Allow manual triggering + workflow_dispatch: + +env: + fail-fast: true + +permissions: + contents: read + +jobs: + phpstan: + name: PHPStan + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v5 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.4' + coverage: none + tools: none + + - name: Run PHPStan + run: vendor/bin/phpstan analyze --no-progress + + phpunit: + name: PHPUnit + runs-on: ubuntu-latest + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: false + matrix: + php: ['8.2', '8.3', '8.4'] + experimental: [false] + include: + - php: '8.5' + experimental: true + + steps: + - name: Checkout code + uses: actions/checkout@v5 + + - name: Setup PHP ${{ matrix.php }} + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + coverage: none + tools: none + + - name: Run PHPUnit + run: vendor/bin/phpunit --exclude integration --coverage-filter classes --coverage-filter include |