Add support for the readable collection interface from doctrine/colle… #431
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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'] | |
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'] | |
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.3' | |
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'] | |
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.3' | |
dbal: '^4.0' | |
composer-flags: '--prefer-stable --prefer-dist' | |
next-php: false | |
- php: '8.3' | |
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'] | |
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.3' | |
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'] | |
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.3' | |
orm: '^3.0' | |
composer-flags: '--prefer-stable --prefer-dist' | |
next-php: false | |
- php: '8.3' | |
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'] | |
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.3' | |
odm: '^2.0' | |
composer-flags: '--prefer-dist --prefer-lowest' | |
next-php: false | |
- php: '8.3' | |
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'] | |
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.3' | |
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'] | |
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.3' | |
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'] | |
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.3' | |
twig: '' | |
composer-flags: '--prefer-stable --prefer-dist' | |
next-php: false | |
patch-packages: true | |
- php: '8.3' | |
twig: '^2.13' | |
composer-flags: '--prefer-stable --prefer-dist' | |
next-php: false | |
- php: '8.3' | |
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) |