name: tests

on:
  push:
    branches:
      - master
    paths-ignore:
      - 'README.md'
  pull_request:
    branches:
      - master
    paths-ignore:
      - 'README.md'

jobs:
  linux_tests:
      runs-on: ubuntu-22.04

      strategy:
        fail-fast: true
        matrix:
          php: ['7.3', '7.4', '8.0', '8.1']
          stability: [prefer-lowest, prefer-stable]

      name: PHP ${{ matrix.php }} - ${{ matrix.stability }}

      steps:
        - name: Checkout code
          uses: actions/checkout@v3

        - name: Setup PHP
          uses: shivammathur/setup-php@v2
          with:
            php-version: ${{ matrix.php }}
            extensions: openssl, hash
            ini-values: error_reporting=E_ALL
            tools: composer:v2
            coverage: none

        - name: Install Composer dependencies
          run: composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress

        - name: Execute tests
          run: vendor/bin/phpunit --verbose

