Skip to content

PHPUnit

PHPUnit #83

Workflow file for this run

name: PHPUnit
on:
push:
branches:
- main
pull_request:
schedule:
- cron: '0 14 * * 3' # Run Wednesdays at 2pm EST
jobs:
php-tests:
runs-on: ubuntu-latest
strategy:
matrix:
php: [ 8.2, 8.3, 8.4, 8.5 ]
laravel: [ 13.*, 12.*, 11.*, 10.* ]
dependency-version: [ stable, lowest ]
exclude:
- { laravel: 13.*, php: 8.2 }
- { laravel: 11.*, php: 8.5 }
- { laravel: 10.*, php: 8.5 }
- { laravel: 10.*, php: 8.4 }
timeout-minutes: 10
name: "${{ matrix.php }} / ${{ matrix.laravel }} (${{ matrix.dependency-version }})"
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pcntl, bcmath, intl, iconv
tools: composer:v2
- name: Register composer cache directory
id: composer-cache
run: |
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Cache dependencies
uses: actions/cache@v5
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Install dependencies
run: |
composer require --no-interaction --prefer-dist --prefer-${{ matrix.dependency-version }} --update-with-all-dependencies "laravel/framework:${{ matrix.laravel }}"
- name: Execute tests
run: vendor/bin/phpunit