name: Tests on: push: pull_request: schedule: - cron: '0 0 * * *' jobs: tests: runs-on: ubuntu-latest strategy: fail-fast: true matrix: php: [8.1, 8.2, 8.3] laravel: [10, 11, 12] exclude: - php: 8.1 laravel: 11 - php: 8.1 laravel: 12 name: P${{ matrix.php }} - L${{ matrix.laravel }} steps: - name: Checkout code uses: actions/checkout@v4 - name: Cache dependencies uses: actions/cache@v4 with: path: ~/.composer/cache/files key: dependencies-laravel-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }} - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} extensions: dom, curl, libxml, mbstring, zip coverage: none - name: Install dependencies run: composer require "illuminate/contracts=^${{ matrix.laravel }}" --prefer-dist --no-interaction --no-suggest - name: Execute tests run: vendor/bin/phpunit