@@ -19,23 +19,28 @@ permissions:
1919jobs :
2020 test :
2121
22- runs-on : ${{ matrix.os }}
22+ runs-on : ubuntu-latest
2323
24- # Define the matrix of different PHP and dependency versions
24+ # Define the matrix of different PHP, Laravel, and testbench versions
2525 strategy :
2626 # Fail the whole workflow if one of the jobs fails
2727 fail-fast : true
2828 matrix :
29- os : [ ubuntu-latest ]
3029 php : [ 8.2, 8.3, 8.4 ]
31- dependency-version : [ prefer-lowest, prefer-stable ]
32-
33- name : ${{ matrix.os }} / PHP ${{ matrix.php }} / ${{ matrix.dependency-version }}
30+ laravel : [ 11.*, 12.* ]
31+ dependency-version : [ prefer-stable ]
32+ include :
33+ # Laravel 12 uses Orchestra Testbench 10
34+ - laravel : 12.*
35+ testbench : 10.*
36+ # Laravel 11 uses Orchestra Testbench 9
37+ - laravel : 11.*
38+ testbench : 9.*
39+ name : PHP ${{ matrix.php }} / L${{ matrix.laravel }} / ${{ matrix.dependency-version }}
3440
3541 steps :
3642
3743 # - name: Configure operating system
38- # if: matrix.os == 'ubuntu-latest'
3944 # run: sudo apt-get update && sudo apt-get install -y locales locales-all
4045
4146 - name : Checkout code
5156 uses : actions/cache@v3
5257 with :
5358 path : vendor
54- key : ${{ runner.os }}-php -${{ matrix.php }}-${{ matrix.dependency-version }}-${{ hashFiles('**/composer.lock') }}
59+ key : php- ${{ matrix.php }}-laravel -${{ matrix.laravel }}-${{ matrix.dependency-version }}-${{ hashFiles('**/composer.lock') }}
5560
5661 - name : Setup PHP
5762 uses : shivammathur/setup-php@v2
@@ -61,14 +66,16 @@ jobs:
6166 # extensions: mbstring, gd, intl
6267
6368 - name : Install dependencies
64- run : composer update --prefer-dist --no-progress --${{ matrix.dependency-version }}
69+ run : |
70+ composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" "filament/support" --no-interaction --no-update
71+ composer update --${{ matrix.dependency-version }} --prefer-dist --no-progress --no-interaction
6572
6673 - name : Run test suite
6774 run : composer test -- --coverage-clover ./coverage.xml
6875
6976 - name : Upload coverage reports to Codecov
7077 # Make sure the Codecov action is only executed once
71- if : matrix.os == 'ubuntu-latest ' && matrix.php == '8.2 ' && matrix.dependency-version == 'prefer-stable'
78+ if : matrix.php == '8.2 ' && matrix.laravel == '12.* ' && matrix.dependency-version == 'prefer-stable'
7279 uses : codecov/codecov-action@v5
7380 with :
7481 token : ${{ secrets.CODECOV_TOKEN }}
0 commit comments