name: Run tests
on:
push:
pull_request:
jobs:
php-tests:
runs-on: ${{ matrix.os }}
strategy:
matrix:
php: [7.4, 8.0, 8.1]
laravel: [7.*, 8.*]
dependency-version: [prefer-stable]
os: [ubuntu-latest]
exclude:
- laravel: 7.*
php: 8.1
name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }} - ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick, fileinfo
coverage: xdebug
tools: composer:v2
- name: Set up .env for tests
run: cp .env.testing .env
- name: Install dependencies
run: |
composer require "laravel/framework:${{ matrix.laravel }}" --no-interaction --no-update
composer update --${{ matrix.dependency-version }} --no-interaction --no-progress
- name: Create SQLite database
run: |
mkdir -p database
touch database/database.sqlite
- name: Execute tests via PHPUnit
run: vendor/bin/phpunit --coverage-clover clover.xml
|