Skip to content

PHPUnit

PHPUnit #2506

Workflow file for this run

name: PHPUnit
on:
push:
branches:
- main
pull_request:
branches:
- main
schedule:
- cron: '0 0 * * *'
jobs:
phpunit:
name: PHP ${{ matrix.php-versions }} - ${{ matrix.composer-dependencies }} dependencies
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
php-versions: ['8.0', '8.1', '8.2']
composer-dependencies: ['highest', 'lowest']
services:
redis:
image: redis:6.0.0
ports:
- 6379:6379
postgres:
image: postgres:9.4
env:
POSTGRES_DB: _symfony_scheduler_tasks
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
extensions: zip, redis, pcntl, pgsql
env:
update: true
- name: Install Composer dependencies
if: matrix.php-versions != '8.2'
uses: ramsey/composer-install@v2
with:
dependency-versions: ${{ matrix.composer-dependencies }}
composer-options: '--prefer-stable'
- name: Install Composer dependencies while ignoring platform reqs
if: matrix.php-versions == '8.2'
uses: ramsey/composer-install@v2
with:
dependency-versions: ${{ matrix.composer-dependencies }}
composer-options: '--prefer-stable --ignore-platform-reqs'
- name: Run PHPUnit
run: php vendor/bin/phpunit tests -v
env:
SCHEDULER_REDIS_DSN: 'redis://127.0.0.1:6379/_symfony_scheduler_tasks?auth=password'
SCHEDULER_POSTGRES_DSN: 'postgres://postgres:postgres@127.0.0.1:5432/_symfony_scheduler_tasks'
- name: Cache PHPUnit result
uses: actions/cache@v3
with:
path: ~/.phpunit.result.cache
key: ${{ runner.os }}-composer-${{ matrix.php-versions }}-${{ matrix.composer-dependencies }}-${{ hashFiles('**/.phpunit.result.cache') }}
restore-keys: ${{ runner.os }}-composer-${{ matrix.php-versions }}-${{ matrix.composer-dependencies }}-