name: Tests

on: [push, pull_request]

jobs:
  run:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        php: ['7.1', '7.2', '7.3', '7.4', '8.0', '8.1']
    name: PHP ${{ matrix.php }}
    steps:
    - name: Checkout
      uses: actions/checkout@v2

    - name: Install PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: ${{ matrix.php }}
        extensions: gmp

    - name: Display versions
      run: |
        php -v
        php -i

    - name: Cache Composer packages
      id: composer-cache
      uses: actions/cache@v2
      with:
        path: vendor
        key: ${{ matrix.php }}-composer

    - name: Composer install
      if: steps.composer-cache.outputs.cache-hit != 'true'
      run: composer install -n

    - run: vendor/bin/phpunit
