name: Test

on:
  pull_request:
    types:
      - opened
      - reopened
  push:
    branches-ignore:
      - 'master'

jobs:
  phpunit:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        php-version: [7.4, 8.0, 8.1]
    
    steps:
      - uses: actions/checkout@v3
      - uses: php-actions/composer@v5
        with:
          php_version: ${{ matrix.php-version }}
          args: --ignore-platform-reqs
      - uses: php-actions/phpunit@v3
        with:
          configuration: phpunit.xml
          php_version: ${{ matrix.php-version }}
          php_extensions: bcmath gmp xdebug
  phpcs:
    runs-on: ubuntu-latest
    
    steps:
      - uses: actions/checkout@v3
      - uses: php-actions/composer@v5
        with:
          php_version: 8.1
          php_extensions: bcmath gmp xdebug
      - name: Install PHP_CodeSniffer
        run: |
          curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
          php phpcs.phar src --standard=ruleset.xml