name: Test

on: [push, pull_request]

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 }}
          php_extensions: bcmath gmp xdebug
      - uses: php-actions/phpunit@v3
        with:
          configuration: phpunit.xml
          php_version: ${{ matrix.php-version }}
          php_extensions: bcmath gmp xdebug
          version: 9.6.16
  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