| name: Tests
on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]
jobs:
  tests:
    name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }}
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        include:
          - php: '8.0'
            laravel: '9.*'
            testbench: '7.*'
          - php: '8.1'
            laravel: '10.*'
            testbench: '8.*'
          - php: '8.2'
            laravel: '10.*'
            testbench: '8.*'
          - php: '8.3'
            laravel: '10.*'
            testbench: '8.*'
    steps:
      - name: Checkout code
        uses: actions/checkout@v3
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php }}
          extensions: mbstring, dom, fileinfo, curl
          coverage: none
      - name: Install dependencies
        run: |
          composer require "laravel/framework:${{ matrix.laravel}}" "orchestra/testbench:${{ matrix.testbench}}" --no-interaction --no-update
          composer update --prefer-dist --no-interaction --no-suggest
      - name: Execute tests
        run: vendor/bin/pest
 |