Skip to content

Tests

Tests #22

Workflow file for this run

name: Tests
on:
push:
pull_request:
schedule:
- cron: '0 7 * * 1'
jobs:
tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: ['8.1', '8.2', '8.3', '8.4']
laravel: ['10', '11', '12', '13']
exclude:
- laravel: '11'
php: '8.1'
- laravel: '12'
php: '8.1'
- laravel: '13'
php: '8.1'
- laravel: '13'
php: '8.2'
- laravel: '10'
php: '8.4'
name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }}
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
coverage: none
- name: Install dependencies
# EOL Laravel versions have unpatched security advisories, which newer
# Composer refuses to install by default. We still want to test against
# them, so disable the advisory block for dependency resolution.
run: |
composer config policy.advisories.block false
composer require "illuminate/support:^${{ matrix.laravel }}.0" --no-interaction --no-update
composer update --prefer-dist --no-interaction --no-progress
- name: Run tests
run: vendor/bin/phpunit
lint:
runs-on: ubuntu-latest
name: Code style
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
coverage: none
- name: Install dependencies
run: composer update --prefer-dist --no-interaction --no-progress
- name: Run Pint
run: vendor/bin/pint --test