Skip to content

tests

tests #2011

Workflow file for this run

name: tests
on:
push:
branches:
- master
- '*.x'
pull_request:
schedule:
- cron: '0 0 * * *'
jobs:
mysql:
runs-on: ubuntu-22.04
services:
mysql:
image: mysql:5.7
env:
MYSQL_RANDOM_ROOT_PASSWORD: yes
MYSQL_DATABASE: pulse
MYSQL_USER: pulse
MYSQL_PASSWORD: password
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
redis:
image: redis
ports:
- 6379:6379
options: --entrypoint redis-server
strategy:
fail-fast: true
matrix:
php: [8.1, 8.2, 8.3]
laravel: [10, 11]
stability: [prefer-lowest, prefer-stable]
include:
- php: 8.4
laravel: 11
stability: prefer-stable
name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} - Stability ${{ matrix.stability }} - MySQL 5.7
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, redis, pcntl, zip, relay
ini-values: error_reporting=E_ALL
tools: composer:v2
coverage: none
- name: Install redis-cli
run: sudo apt-get install -qq redis-tools
- name: Require cachewerk/relay
run: |
composer require cachewerk/relay --no-interaction --no-update
if: matrix.php != 8.4
- name: Install dependencies
run: |
composer update --prefer-dist --no-interaction --no-progress --${{ matrix.stability }}
- name: Execute tests
run: vendor/bin/pest -vvv
env:
DB_CONNECTION: mysql
DB_DATABASE: pulse
DB_USERNAME: pulse
DB_PASSWORD: password
DB_COLLATION: utf8mb4_unicode_ci
mariadb:
runs-on: ubuntu-22.04
services:
mysql:
image: mariadb:10
env:
MYSQL_RANDOM_ROOT_PASSWORD: yes
MYSQL_DATABASE: pulse
MYSQL_USER: pulse
MYSQL_PASSWORD: password
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
redis:
image: redis
ports:
- 6379:6379
options: --entrypoint redis-server
strategy:
fail-fast: true
matrix:
php: [8.3]
laravel: [11]
stability: [prefer-stable]
name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} - Stability ${{ matrix.stability }} - MariaDB 10
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, redis, pcntl, zip, relay
ini-values: error_reporting=E_ALL
tools: composer:v2
coverage: none
- name: Install redis-cli
run: sudo apt-get install -qq redis-tools
- name: Require cachewerk/relay
run: |
composer require cachewerk/relay --no-interaction --no-update
if: matrix.php != 8.4
- name: Install dependencies
run: |
composer update --prefer-dist --no-interaction --no-progress --${{ matrix.stability }}
- name: Execute tests
run: vendor/bin/pest -vvv
env:
DB_CONNECTION: mariadb
DB_DATABASE: pulse
DB_USERNAME: pulse
DB_PASSWORD: password
pgsql:
runs-on: ubuntu-22.04
services:
postgresql:
image: postgres:14
env:
POSTGRES_DB: pulse
POSTGRES_USER: pulse
POSTGRES_PASSWORD: password
ports:
- 5432:5432
options: --health-cmd=pg_isready --health-interval=10s --health-timeout=5s --health-retries=3
redis:
image: redis
ports:
- 6379:6379
options: --entrypoint redis-server
strategy:
fail-fast: true
matrix:
php: [8.3]
laravel: [11]
stability: [prefer-stable]
name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} - Stability ${{ matrix.stability }} - PostgreSQL 14
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, redis, pcntl, zip, relay
ini-values: error_reporting=E_ALL
tools: composer:v2
coverage: none
- name: Install redis-cli
run: sudo apt-get install -qq redis-tools
- name: Require cachewerk/relay
run: |
composer require cachewerk/relay --no-interaction --no-update
if: matrix.php != 8.4
- name: Install dependencies
run: |
composer update --prefer-dist --no-interaction --no-progress --${{ matrix.stability }} --with="illuminate/contracts=^${{ matrix.laravel }}"
- name: Execute tests
run: vendor/bin/pest -vvv
env:
DB_CONNECTION: pgsql
DB_DATABASE: pulse
DB_USERNAME: pulse
DB_PASSWORD: password
sqlite:
runs-on: ubuntu-22.04
services:
redis:
image: redis
ports:
- 6379:6379
options: --entrypoint redis-server
strategy:
fail-fast: true
matrix:
php: [8.3]
laravel: [11]
stability: [prefer-stable]
name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} - Stability ${{ matrix.stability }} - SQLite
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, redis, pcntl, zip, relay
ini-values: error_reporting=E_ALL
tools: composer:v2
coverage: none
- name: Install redis-cli
run: sudo apt-get install -qq redis-tools
- name: Require cachewerk/relay
run: |
composer require cachewerk/relay --no-interaction --no-update
if: matrix.php != 8.4
- name: Install dependencies
run: |
composer update --prefer-dist --no-interaction --no-progress --${{ matrix.stability }}
- name: Execute tests
run: vendor/bin/pest -vvv
env:
DB_CONNECTION: sqlite