Skip to content

fix(queue-flow): replace string-keyed array unpacking for php 8.0 sup… #4

fix(queue-flow): replace string-keyed array unpacking for php 8.0 sup…

fix(queue-flow): replace string-keyed array unpacking for php 8.0 sup… #4

Workflow file for this run

name: tests
on:
push:
branches:
- main
- master
- '*.x'
pull_request:
schedule:
- cron: '0 0 * * *'
permissions:
contents: read
jobs:
tests:
runs-on: ubuntu-22.04
services:
redis:
image: redis
ports:
- 6379:6379
options: --entrypoint redis-server
strategy:
fail-fast: true
matrix:
php: [8.1, 8.2, 8.3, 8.4, 8.5]
laravel: [10, 11, 12, 13]
include:
- php: '8.0'
laravel: 9
- php: 8.1
laravel: 9
- php: 8.2
laravel: 9
exclude:
- php: 8.1
laravel: 11
- php: 8.1
laravel: 12
- php: 8.1
laravel: 13
- php: 8.2
laravel: 13
- php: 8.4
laravel: 10
- php: 8.5
laravel: 10
- php: 8.5
laravel: 11
name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }}
steps:
- name: Checkout code
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- name: Setup PHP
uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, redis, zip
ini-values: error_reporting=E_ALL
tools: composer:v2
coverage: none
- name: Install dependencies
run: |
composer update --prefer-dist --no-interaction --no-progress --with="illuminate/contracts:^${{ matrix.laravel }}"
- name: Execute tests
run: vendor/bin/phpunit --fail-on-risky --fail-on-warning --stop-on-error --stop-on-failure ${{ matrix.laravel >= 10 && '--fail-on-deprecation' || '' }}
cluster-tests:
runs-on: ubuntu-24.04
strategy:
fail-fast: true
matrix:
php: [8.3, 8.4, 8.5]
client: ['phpredis', 'predis']
name: Redis Cluster - PHP ${{ matrix.php }} (${{ matrix.client }})
steps:
- name: Checkout code
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- name: Setup PHP
uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, redis, zip
ini-values: error_reporting=E_ALL
tools: composer:v2
coverage: none
- name: Install dependencies
run: composer update --prefer-dist --no-interaction --no-progress --with="illuminate/contracts:^13"
- name: Create Redis Cluster
run: |
sudo apt update
sudo apt-get install -y --fix-missing redis-server
sudo service redis-server stop
redis-server --daemonize yes --port 7000 --appendonly yes --cluster-enabled yes --cluster-config-file nodes-7000.conf
redis-server --daemonize yes --port 7001 --appendonly yes --cluster-enabled yes --cluster-config-file nodes-7001.conf
redis-server --daemonize yes --port 7002 --appendonly yes --cluster-enabled yes --cluster-config-file nodes-7002.conf
redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 --cluster-replicas 0 --cluster-yes
- name: Check Redis Cluster is ready
uses: nick-fields/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4
with:
timeout_seconds: 5
max_attempts: 5
retry_wait_seconds: 5
retry_on: error
command: |
redis-cli -c -h 127.0.0.1 -p 7000 cluster info | grep "cluster_state:ok"
redis-cli -c -h 127.0.0.1 -p 7001 cluster info | grep "cluster_state:ok"
redis-cli -c -h 127.0.0.1 -p 7002 cluster info | grep "cluster_state:ok"
- name: Execute tests
run: vendor/bin/phpunit --fail-on-risky --fail-on-warning --stop-on-error --stop-on-failure --fail-on-deprecation
env:
REDIS_CLIENT: ${{ matrix.client }}
REDIS_CLUSTER_HOSTS_AND_PORTS: 127.0.0.1:7000,127.0.0.1:7001,127.0.0.1:7002
QUEUE_CONNECTION: redis