Skip to content

Test on PHP 8.4

Test on PHP 8.4 #435

Workflow file for this run

name: 'Run Tests'
on: [push, pull_request]
jobs:
test-core:
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.next-php }}
strategy:
fail-fast: true
matrix:
php: ['8.1', '8.2', '8.3', '8.4']
composer-flags: ['--prefer-stable --prefer-dist']
next-php: [false]
include:
- php: '8.1'
composer-flags: '--prefer-stable --prefer-dist --prefer-lowest'
next-php: false
name: Core - PHP ${{ matrix.php }} - Composer ${{ matrix.composer-flags }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2
extensions: curl, iconv, mbstring, zip
coverage: pcov
- name: Install dependencies
run: (cd lib/Core && composer update ${{ matrix.composer-flags }})
- name: Execute tests
run: (cd lib/Core && vendor/bin/phpunit)
test-doctrine-collections:
needs: test-core
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.next-php }}
strategy:
fail-fast: true
matrix:
php: ['8.1', '8.2', '8.3', '8.4']
collections: ['^1.8', '^2.0']
composer-flags: ['--prefer-stable --prefer-dist']
next-php: [false]
patch-packages: [false]
include:
- php: '8.1'
composer-flags: '--prefer-stable --prefer-dist --prefer-lowest'
next-php: false
- php: '8.4'
composer-flags: '--prefer-stable --prefer-dist'
next-php: false
patch-packages: true
name: Doctrine Collections${{ matrix.collections != '' && format(' {0}', matrix.collections) || '' }} - PHP ${{ matrix.php }} - Composer ${{ matrix.composer-flags }}${{ matrix.patch-packages && ' (Patched Packages)' || '' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2
extensions: curl, iconv, mbstring, zip
coverage: pcov
- name: Patch Composer manifests
if: ${{ matrix.patch-packages }}
run: php .github/patch-packages.php
- name: Restrict Collections version
if: ${{ matrix.collections }}
run: (cd lib/Adapter/Doctrine/Collections && composer require --no-update doctrine/collections:${{ matrix.collections }})
- name: Install dependencies
run: (cd lib/Adapter/Doctrine/Collections && composer update ${{ matrix.composer-flags }})
- name: Execute tests
run: (cd lib/Adapter/Doctrine/Collections && vendor/bin/phpunit)
test-doctrine-dbal:
needs: test-core
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.next-php }}
strategy:
fail-fast: true
matrix:
php: ['8.1', '8.2', '8.3', '8.4']
dbal: ['']
composer-flags: ['--prefer-stable --prefer-dist']
next-php: [false]
patch-packages: [false]
include:
- php: '8.1'
dbal: ''
composer-flags: '--prefer-stable --prefer-dist --prefer-lowest'
next-php: false
- php: '8.4'
dbal: '^4.0'
composer-flags: '--prefer-stable --prefer-dist'
next-php: false
- php: '8.4'
dbal: ''
composer-flags: '--prefer-stable --prefer-dist'
next-php: false
patch-packages: true
name: Doctrine DBAL${{ matrix.dbal != '' && format(' {0}', matrix.dbal) || '' }} - PHP ${{ matrix.php }} - Composer ${{ matrix.composer-flags }}${{ matrix.patch-packages && ' (Patched Packages)' || '' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2
extensions: curl, iconv, mbstring, pdo, pdo_sqlite, sqlite, zip
coverage: pcov
- name: Patch Composer manifests
if: ${{ matrix.patch-packages }}
run: php .github/patch-packages.php
- name: Restrict DBAL version
if: ${{ matrix.dbal }}
run: (cd lib/Adapter/Doctrine/DBAL && composer require --no-update doctrine/dbal:${{ matrix.dbal }})
- name: Install dependencies
run: (cd lib/Adapter/Doctrine/DBAL && composer update ${{ matrix.composer-flags }})
- name: Execute tests
run: (cd lib/Adapter/Doctrine/DBAL && vendor/bin/phpunit)
test-doctrine-mongodb-odm:
needs: test-core
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.next-php }}
strategy:
fail-fast: true
matrix:
php: ['8.1', '8.2', '8.3', '8.4']
composer-flags: ['--prefer-stable --prefer-dist']
next-php: [false]
patch-packages: [false]
include:
- php: '8.1'
composer-flags: '--prefer-stable --prefer-dist --prefer-lowest'
next-php: false
- php: '8.4'
composer-flags: '--prefer-stable --prefer-dist'
next-php: false
patch-packages: true
name: Doctrine MongoDB ODM - PHP ${{ matrix.php }} - Composer ${{ matrix.composer-flags }}${{ matrix.patch-packages && ' (Patched Packages)' || '' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2
extensions: curl, iconv, mbstring, mongodb, zip
coverage: pcov
- name: Patch Composer manifests
if: ${{ matrix.patch-packages }}
run: php .github/patch-packages.php
- name: Install dependencies
run: (cd lib/Adapter/Doctrine/MongoDBODM && composer update ${{ matrix.composer-flags }})
- name: Execute tests
run: (cd lib/Adapter/Doctrine/MongoDBODM && vendor/bin/phpunit)
test-doctrine-orm:
needs: test-core
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.next-php }}
strategy:
fail-fast: true
matrix:
php: ['8.1', '8.2', '8.3', '8.4']
orm: ['']
composer-flags: ['--prefer-stable --prefer-dist']
next-php: [false]
patch-packages: [false]
include:
- php: '8.1'
orm: ''
composer-flags: '--prefer-stable --prefer-dist --prefer-lowest'
next-php: false
- php: '8.4'
orm: '^3.0'
composer-flags: '--prefer-stable --prefer-dist'
next-php: false
- php: '8.4'
orm: ''
composer-flags: '--prefer-stable --prefer-dist'
next-php: false
patch-packages: true
name: Doctrine ORM${{ matrix.orm != '' && format(' {0}', matrix.orm) || '' }} - PHP ${{ matrix.php }} - Composer ${{ matrix.composer-flags }}${{ matrix.patch-packages && ' (Patched Packages)' || '' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2
extensions: curl, iconv, mbstring, pdo, pdo_sqlite, sqlite, zip
coverage: pcov
- name: Patch Composer manifests
if: ${{ matrix.patch-packages }}
run: php .github/patch-packages.php
- name: Restrict ORM version
if: ${{ matrix.orm }}
run: (cd lib/Adapter/Doctrine/ORM && composer require --no-update doctrine/orm:${{ matrix.orm }})
- name: Install dependencies
run: (cd lib/Adapter/Doctrine/ORM && composer update ${{ matrix.composer-flags }})
- name: Execute tests
run: (cd lib/Adapter/Doctrine/ORM && vendor/bin/phpunit)
test-doctrine-phpcr-odm:
needs: test-core
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.next-php }}
strategy:
fail-fast: true
matrix:
php: ['8.1', '8.2', '8.3', '8.4']
odm: ['']
composer-flags: ['--prefer-stable --prefer-dist']
next-php: [false]
patch-packages: [false]
include:
- php: '8.1'
odm: ''
composer-flags: '--prefer-stable --prefer-dist --prefer-lowest'
next-php: false
- php: '8.4'
odm: '^2.0'
composer-flags: '--prefer-dist --prefer-lowest'
next-php: false
- php: '8.4'
odm: ''
composer-flags: '--prefer-stable --prefer-dist'
next-php: false
patch-packages: true
name: Doctrine PHPCR ODM${{ matrix.odm != '' && format(' {0}', matrix.odm) || '' }} - PHP ${{ matrix.php }} - Composer ${{ matrix.composer-flags }}${{ matrix.patch-packages && ' (Patched Packages)' || '' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2
extensions: curl, iconv, mbstring, pdo, pdo_sqlite, sqlite, zip
coverage: pcov
- name: Patch Composer manifests
if: ${{ matrix.patch-packages }}
run: php .github/patch-packages.php
- name: Restrict ODM version
if: ${{ matrix.odm }}
run: (cd lib/Adapter/Doctrine/PHPCRODM && composer require --no-update doctrine/phpcr-odm:${{ matrix.odm }})
- name: Install dependencies
run: (cd lib/Adapter/Doctrine/PHPCRODM && composer update ${{ matrix.composer-flags }})
- name: Execute tests
run: (cd lib/Adapter/Doctrine/PHPCRODM && vendor/bin/phpunit)
test-elastica:
needs: test-core
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.next-php }}
strategy:
fail-fast: true
matrix:
php: ['8.1', '8.2', '8.3', '8.4']
elastica: ['']
composer-flags: ['--prefer-stable --prefer-dist']
next-php: [false]
patch-packages: [false]
include:
- php: '8.1'
elastica: ''
composer-flags: '--prefer-stable --prefer-dist --prefer-lowest'
next-php: false
- php: '8.4'
elastica: ''
composer-flags: '--prefer-stable --prefer-dist'
next-php: false
patch-packages: true
name: Elastica${{ matrix.elastica != '' && format(' {0}', matrix.elastica) || '' }} - PHP ${{ matrix.php }} - Composer ${{ matrix.composer-flags }}${{ matrix.patch-packages && ' (Patched Packages)' || '' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2
extensions: curl, iconv, mbstring, zip
coverage: pcov
- name: Patch Composer manifests
if: ${{ matrix.patch-packages }}
run: php .github/patch-packages.php
- name: Restrict Elastica version
if: ${{ matrix.elastica }}
run: (cd lib/Adapter/Elastica && composer require --no-update ruflin/elastica:${{ matrix.elastica }})
- name: Install dependencies
run: (cd lib/Adapter/Elastica && composer update ${{ matrix.composer-flags }})
- name: Execute tests
run: (cd lib/Adapter/Elastica && vendor/bin/phpunit)
test-solarium:
needs: test-core
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.next-php }}
strategy:
fail-fast: true
matrix:
php: ['8.1', '8.2', '8.3', '8.4']
solarium: ['']
composer-flags: ['--prefer-stable --prefer-dist']
next-php: [false]
patch-packages: [false]
include:
- php: '8.1'
composer-flags: '--prefer-stable --prefer-dist --prefer-lowest'
next-php: false
- php: '8.4'
solarium: ''
composer-flags: '--prefer-stable --prefer-dist'
next-php: false
patch-packages: true
name: Solarium${{ matrix.solarium != '' && format(' {0}', matrix.solarium) || '' }} - PHP ${{ matrix.php }} - Composer ${{ matrix.composer-flags }}${{ matrix.patch-packages && ' (Patched Packages)' || '' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2
extensions: curl, iconv, mbstring, zip
coverage: pcov
- name: Patch Composer manifests
if: ${{ matrix.patch-packages }}
run: php .github/patch-packages.php
- name: Restrict Solarium version
if: ${{ matrix.solarium }}
run: (cd lib/Adapter/Solarium && composer require --no-update solarium/solarium:${{ matrix.solarium }})
- name: Install dependencies
run: (cd lib/Adapter/Solarium && composer update ${{ matrix.composer-flags }})
- name: Execute tests
run: (cd lib/Adapter/Solarium && vendor/bin/phpunit)
test-twig:
needs: test-core
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.next-php }}
strategy:
fail-fast: true
matrix:
php: ['8.1', '8.2', '8.3', '8.4']
twig: ['']
composer-flags: ['--prefer-stable --prefer-dist']
next-php: [false]
patch-packages: [false]
include:
- php: '8.1'
twig: ''
composer-flags: '--prefer-stable --prefer-dist --prefer-lowest'
next-php: false
- php: '8.4'
twig: ''
composer-flags: '--prefer-stable --prefer-dist'
next-php: false
patch-packages: true
- php: '8.1'
twig: '^2.13'
composer-flags: '--prefer-stable --prefer-dist'
next-php: false
- php: '8.4'
twig: '^3.0'
composer-flags: '--prefer-stable --prefer-dist'
next-php: false
name: Twig${{ matrix.twig != '' && format(' {0}', matrix.twig) || '' }} - PHP ${{ matrix.php }} - Composer ${{ matrix.composer-flags }}${{ matrix.patch-packages && ' (Patched Packages)' || '' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2
extensions: curl, iconv, mbstring, zip
coverage: pcov
- name: Patch Composer manifests
if: ${{ matrix.patch-packages }}
run: php .github/patch-packages.php
- name: Restrict Twig version
if: ${{ matrix.twig }}
run: (cd lib/Twig && composer require --no-update twig/twig:${{ matrix.twig }})
- name: Install dependencies
run: (cd lib/Twig && composer update ${{ matrix.composer-flags }})
- name: Execute tests
run: (cd lib/Twig && vendor/bin/phpunit)