Skip to content

Unit Tests

Unit Tests #2604

Workflow file for this run

name: Unit Tests
on:
push:
branches:
- master
pull_request:
branches:
- "*"
schedule:
- cron: '0 0 * * *'
jobs:
php-tests:
runs-on: ubuntu-latest
timeout-minutes: 15
env:
COMPOSER_NO_INTERACTION: 1
strategy:
fail-fast: false
matrix:
php: [8.4, 8.3, 8.2, 8.1, 8.0]
laravel: [^11, ^10, ^9]
dependency-version: [prefer-stable]
exclude:
- laravel: ^9
php: 8.4
- laravel: ^10
php: 8.0
- laravel: ^11
php: 8.0
- laravel: ^11
php: 8.1
name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
coverage: none
tools: composer:v2
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif
- name: Install dependencies
run: |
composer require "laravel/framework:${{ matrix.laravel }}" --no-interaction --no-update
composer update --${{ matrix.dependency-version }} --prefer-dist --no-progress
- name: Update Dusk Chromedriver
run: vendor/bin/dusk-updater detect --auto-update
- name: Execute Unit Tests
run: composer test
- name: Upload Failed Screenshots
uses: actions/upload-artifact@v4
if: failure()
with:
name: screenshots
path: tests/Browser/screenshots/*