name: Tests on: [push, pull_request] jobs: build: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest] php: [7.3, 7.4, 8.0, 8.1] illuminate_version: [6.*, 8.*] stability: [prefer-lowest, prefer-stable] exclude: - php: 8.0 stability: prefer-lowest - php: 8.1 include: - php: 8.1 illuminate_version: ^8.67 stability: prefer-stable # Exclude unsupported combination # https://laravel.com/docs/8.x/releases#support-policy - illuminate_version: 6.* php: 8.1 # "Added PHP 8.1 Support from v8.67.0" # https://github.com/laravel/framework/blob/8.x/CHANGELOG-8.x.md#v8670-2021-10-22 # see also `matrix.include` section - illuminate_version: 8.* php: 8.1 include: # "Added PHP 8.1 Support from v8.67.0" - illuminate_version: ^8.67.0 php: 8.1 stability: '' - illuminate_version: ^8.67.0 php: 8.1 stability: --prefer-lowest name: P${{ matrix.php }} - ${{ matrix.illuminate_version }} - ${{ matrix.stability }} steps: - name: Checkout code uses: actions/checkout@v2 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} coverage: none tools: composer:v2 - name: Install dependencies run: | composer update --${{ matrix.stability }} --prefer-dist --no-interaction composer require "illuminate/container:${{ matrix.illuminate_version }}" "illuminate/contracts:${{ matrix.illuminate_version }}" "illuminate/database:${{ matrix.illuminate_version }}" "illuminate/http:${{ matrix.illuminate_version }}" "illuminate/support:${{ matrix.illuminate_version }}" --prefer-dist --no-interaction - name: Run Tests run: composer test