@@ -172,3 +172,86 @@ jobs:
172172
173173      - name : Run Visuals Tests 
174174        run : php ./vendor/bin/phpunit --testsuite "Laravel Livewire Tables Visuals Test Suite" --no-coverage 
175+ 
176+   test-laravel12 :
177+     runs-on : ${{ matrix.os }} 
178+     strategy :
179+       fail-fast : false 
180+       max-parallel : 2 
181+       matrix :
182+         os : [ubuntu-latest] 
183+         php : [8.2, 8.3, 8.4] 
184+         laravel : [12.*] 
185+         stability : [prefer-dist] 
186+ 
187+     name : PULL PHP-${{ matrix.php }} - Laravel-12 
188+     env :
189+       extensionKey : phpextensions-${{ matrix.os }}-P${{ matrix.php }}-L${{ matrix.laravel }} 
190+       extensions : dom, curl, libxml, mbstring, zip, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, fileinfo, :psr 
191+ 
192+     steps :
193+       - name : Checkout code 
194+         uses : actions/checkout@v4 
195+         
196+       - name : Setup cache environment 
197+         id : extcache 
198+         uses : shivammathur/cache-extensions@v1 
199+         with :
200+           php-version : ${{ matrix.php }} 
201+           extensions : ${{ env.extensions }} 
202+           key : ${{ env.extensionKey }} 
203+ 
204+       - name : Cache extensions 
205+         uses : actions/cache@v4 
206+         with :
207+           path : ${{ steps.extcache.outputs.dir }} 
208+           key : ${{ matrix.os }}-${{ steps.extcache.outputs.key }} 
209+           restore-keys : ${{ matrix.os }}-${{ steps.extcache.outputs.key }} 
210+ 
211+       - name : Setup PHP 
212+         uses : shivammathur/setup-php@v2 
213+         with :
214+           php-version : ${{ matrix.php }} 
215+           extensions : ${{ env.extensions }} 
216+           tools : phpunit:latest 
217+           ini-values : memory_limit=512M 
218+           coverage : none 
219+         env :
220+           GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} 
221+ 
222+       - name : Setup problem matchers for PHP 
223+         run : echo "::add-matcher::${{ runner.tool_cache }}/php.json" 
224+ 
225+       - name : Get composer cache directory 
226+         id : composer-cache 
227+         run : | 
228+           echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT 
229+ 
230+ uses : actions/cache@v4 
231+         with :
232+           path : ${{ steps.composer-cache.outputs.dir }} 
233+           key : ${{ matrix.os }}-P${{ matrix.php }}-L${{ matrix.laravel }}-composer-${{ hashFiles('**/composer.json') }} 
234+           restore-keys : ${{ matrix.os }}-P${{ matrix.php }}-L${{ matrix.laravel }}-composer- 
235+ 
236+       - name : Add token 
237+         env : 
238+           GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}  
239+         run : | 
240+           composer config github-oauth.github.com $GITHUB_TOKEN 
241+            
242+ name : Install dependencies 
243+         if : steps.composer-cache.outputs.cache-hit != 'true' 
244+         run : composer require "laravel/framework:${{ matrix.laravel }}.*" --no-interaction --no-update 
245+ 
246+       - name : Update dependencies 
247+         if : steps.composer-cache.outputs.cache-hit != 'true' 
248+         run : composer update --${{ matrix.stability }} --no-interaction 
249+ 
250+       - name : Setup problem matchers for PHPUnit 
251+         run : echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" 
252+ 
253+       - name : Run Unit Tests 
254+         run : php ./vendor/bin/paratest --testsuite "Laravel Livewire Tables Unit Test Suite" --no-coverage 
255+ 
256+       - name : Run Visuals Tests 
257+         run : php ./vendor/bin/phpunit --testsuite "Laravel Livewire Tables Visuals Test Suite" --no-coverage 
0 commit comments