Skip to content

Test

Test #417

Workflow file for this run

name: Test
on:
push:
workflow_dispatch:
schedule:
- cron: '0 2 * * *'
jobs:
test:
runs-on: ${{ matrix.os }}
env:
latest_php: 8.3
latest_laravel: 11
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest ]
php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3' ]
laravel: [ 6, 7, 8, 9, 10, 11 ]
exclude:
- php: 7.2
laravel: 8
- php: 7.2
laravel: 9
- php: 7.2
laravel: 10
- php: 7.2
laravel: 11
- php: 7.3
laravel: 9
- php: 7.3
laravel: 10
- php: 7.3
laravel: 11
- php: 7.4
laravel: 9
- php: 7.4
laravel: 10
- php: 7.4
laravel: 11
- php: 8.0
laravel: 10
- php: 8.0
laravel: 11
- php: 8.1
laravel: 6
- php: 8.1
laravel: 7
- php: 8.1
laravel: 11
- php: 8.2
laravel: 6
- php: 8.2
laravel: 7
- php: 8.2
laravel: 8
- php: 8.3
laravel: 6
- php: 8.3
laravel: 7
- php: 8.3
laravel: 8
name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }}
steps:
- name: Setup PHP ${{ matrix.php }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
ini-values: error_reporting=E_ALL
tools: composer:v2
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
uses: nick-fields/retry@v3
with:
timeout_seconds: 30
max_attempts: 3
command: |
composer require "illuminate/support=^${{ matrix.laravel }}" --no-update
composer update --prefer-dist --no-interaction --no-progress
- name: Migrate phpunit XML configuration
run: vendor/bin/phpunit --migrate-configuration || true
- name: Run test suite
run: vendor/bin/phpunit --coverage-clover=coverage.xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage.xml
fail_ci_if_error: false
if: matrix.php == env.latest_php && matrix.laravel == env.latest_laravel