Skip to content

Add PHP 8.5 to CI Test Matrix and Fix PHP 8.5 null as an array offset is deprecated issue #1083

Add PHP 8.5 to CI Test Matrix and Fix PHP 8.5 null as an array offset is deprecated issue

Add PHP 8.5 to CI Test Matrix and Fix PHP 8.5 null as an array offset is deprecated issue #1083

Workflow file for this run

name: tests
on:
push:
branches:
- master
- '*.x'
pull_request:
schedule:
- cron: '0 0 * * *'
jobs:
linux_tests:
runs-on: ubuntu-24.04
services:
mysql:
image: mysql:5.7
env:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
MYSQL_DATABASE: testing
ports:
- 33306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
redis:
image: redis:7.0
ports:
- 6379:6379
options: --entrypoint redis-server
strategy:
fail-fast: true
matrix:
php: [8.3, 8.4, 8.5]
phpunit: ['12.5.0', '12.5.8']
stability: [prefer-lowest, prefer-stable]
exclude:
- php: 8.3
phpunit: '12.0.0'
- php: 8.4
phpunit: '12.0.0'
- php: 8.5
phpunit: '12.0.0'
name: PHP ${{ matrix.php }} - PHPUnit ${{ matrix.phpunit }} - ${{ matrix.stability }}
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, zip, pcntl, pdo, sqlite, pdo_sqlite, gd, redis, igbinary, msgpack, memcached, gmp, :php-psr
ini-values: error_reporting=E_ALL
tools: composer:v2
coverage: none
env:
REDIS_CONFIGURE_OPTS: --enable-redis --enable-redis-igbinary --enable-redis-msgpack --enable-redis-lzf --with-liblzf --enable-redis-zstd --with-libzstd --enable-redis-lz4 --with-liblz4
REDIS_LIBS: liblz4-dev, liblzf-dev, libzstd-dev
- name: Set Framework version
run: composer config version "2.x-dev"
- name: Install dependencies
uses: nick-fields/retry@v3
with:
timeout_minutes: 5
max_attempts: 5
command: composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress --with="phpunit/phpunit:~${{ matrix.phpunit }}"
- name: Execute tests
run: vendor/bin/phpunit
env:
DB_PORT: ${{ job.services.mysql.ports[3306] }}
DB_USERNAME: root
- name: Store artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: linux-logs-${{ matrix.php }}-${{ matrix.phpunit }}-${{ matrix.stability }}
path: |
vendor/orchestra/testbench-core/doppar/storage/logs
!vendor/**/.gitignore
windows_tests:
runs-on: windows-2022
strategy:
fail-fast: true
matrix:
php: [8.3, 8.4, 8.5]
phpunit: ['12.5.0', '12.5.8']
stability: [prefer-lowest, prefer-stable]
exclude:
- php: 8.3
phpunit: '12.0.0'
- php: 8.4
phpunit: '12.0.0'
- php: 8.5
phpunit: '12.0.0'
name: PHP ${{ matrix.php }} - PHPUnit ${{ matrix.phpunit }} - ${{ matrix.stability }} - Windows
steps:
- name: Set git to use LF
run: |
git config --global core.autocrlf false
git config --global core.eol lf
- 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, zip, pdo, sqlite, pdo_sqlite, gd, pdo_mysql, fileinfo, ftp, redis, memcached, gmp, intl, :php-psr
tools: composer:v2
coverage: none
- name: Set Framework version
run: composer config version "2.x-dev"
- name: Install dependencies
uses: nick-fields/retry@v3
with:
timeout_minutes: 5
max_attempts: 5
command: composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress --with="phpunit/phpunit:~${{ matrix.phpunit }}"
- name: Execute tests
run: vendor/bin/phpunit
- name: Store artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: windows-logs-${{ matrix.php }}-${{ matrix.phpunit }}-${{ matrix.stability }}
path: |
vendor/orchestra/testbench-core/doppar/storage/logs
!vendor/**/.gitignore