| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 | 
							- name: main
 
- on: [ push, pull_request ]
 
- jobs:
 
-   test:
 
-     runs-on: ubuntu-latest
 
-     strategy:
 
-       matrix:
 
-         experimental:
 
-           - false
 
-         php-version:
 
-           - '7.2'
 
-           - '7.3'
 
-           - '7.4'
 
-           - '8.0'
 
-           - '8.1'
 
-           - '8.2'
 
-         include:
 
-           - php-version: 'nightly'
 
-             experimental: true
 
-     name: PHP ${{ matrix.php-version }}
 
-     steps:
 
-       - name: Checkout
 
-         uses: actions/checkout@v3
 
-       - name: Setup PHP, with composer and extensions
 
-         uses: shivammathur/setup-php@v2
 
-         with:
 
-           php-version: ${{ matrix.php-version }}
 
-           coverage: none
 
-       - name: Get composer cache directory
 
-         id: composer-cache
 
-         run: echo "::set-output name=dir::$(composer config cache-files-dir)"
 
-       - name: Cache composer dependencies
 
-         uses: actions/cache@v3
 
-         with:
 
-           path: ${{ steps.composer-cache.outputs.dir }}
 
-           key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
 
-           restore-keys: ${{ runner.os }}-composer-
 
-       - name: Delete composer lock file
 
-         id: composer-lock
 
-         if: ${{ matrix.php-version == '8.0' || matrix.php-version == '8.1' || matrix.php-version == '8.2' || matrix.php-version == 'nightly' }}
 
-         run: |
 
-           rm composer.lock
 
-           echo "::set-output name=flags::--ignore-platform-reqs"
 
-       - name: Install dependencies
 
-         run: composer update --no-progress --prefer-dist --optimize-autoloader ${{ steps.composer-lock.outputs.flags }}
 
-       - name: Setup problem matchers for PHP
 
-         run: echo "::add-matcher::${{ runner.tool_cache }}/php.json"
 
-       - name: Setup problem matchers for PHPUnit
 
-         run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
 
-       - name: "Run PHPUnit tests (Experimental: ${{ matrix.experimental }})"
 
-         env:
 
-           FAILURE_ACTION: "${{ matrix.experimental == true }}"
 
-         run: vendor/bin/phpunit --verbose || $FAILURE_ACTION
 
-   phpcs:
 
-     runs-on: ubuntu-latest
 
-     steps:
 
-       - name: Checkout
 
-         uses: actions/checkout@v3
 
-       - name: Setup PHP, with composer and extensions
 
-         uses: shivammathur/setup-php@v2
 
-         with:
 
-           php-version: 7.4
 
-           coverage: none
 
-           tools: cs2pr
 
-       - name: Get composer cache directory
 
-         id: composer-cache
 
-         run: echo "::set-output name=dir::$(composer config cache-files-dir)"
 
-       - name: Cache composer dependencies
 
-         uses: actions/cache@v3
 
-         with:
 
-           path: ${{ steps.composer-cache.outputs.dir }}
 
-           key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
 
-           restore-keys: ${{ runner.os }}-composer-
 
-       - name: Install dependencies
 
-         run: composer install --no-progress --prefer-dist --optimize-autoloader
 
-       - name: Code style with PHP_CodeSniffer
 
-         run: ./vendor/bin/phpcs -q --report=checkstyle classes/src/ | cs2pr
 
-   versions:
 
-     runs-on: ubuntu-latest
 
-     steps:
 
-       - name: Checkout
 
-         uses: actions/checkout@v3
 
-       - name: Setup PHP, with composer and extensions
 
-         uses: shivammathur/setup-php@v2
 
-         with:
 
-           php-version: 7.4
 
-           coverage: none
 
-           tools: cs2pr
 
-       - name: Get composer cache directory
 
-         id: composer-cache
 
-         run: echo "::set-output name=dir::$(composer config cache-files-dir)"
 
-       - name: Cache composer dependencies
 
-         uses: actions/cache@v3
 
-         with:
 
-           path: ${{ steps.composer-cache.outputs.dir }}
 
-           key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
 
-           restore-keys: ${{ runner.os }}-composer-
 
-       - name: Install dependencies
 
-         run: composer install --no-progress --prefer-dist --optimize-autoloader
 
-       - name: Code Version Compatibility check with PHP_CodeSniffer
 
-         run: ./vendor/bin/phpcs -q --report-width=200 --report=summary,full classes/src/ --standard=PHPCompatibility --runtime-set testVersion 7.2-
 
-   coverage:
 
-     runs-on: ubuntu-latest
 
-     steps:
 
-       - name: Checkout
 
-         uses: actions/checkout@v3
 
-       - name: Setup PHP, with composer and extensions
 
-         uses: shivammathur/setup-php@v2
 
-         with:
 
-           php-version: 7.4
 
-           coverage: pcov
 
-       - name: Get composer cache directory
 
-         id: composer-cache
 
-         run: echo "::set-output name=dir::$(composer config cache-files-dir)"
 
-       - name: Cache composer dependencies
 
-         uses: actions/cache@v3
 
-         with:
 
-           path: ${{ steps.composer-cache.outputs.dir }}
 
-           key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
 
-           restore-keys: ${{ runner.os }}-composer-
 
-       - name: Install dependencies
 
-         run: composer install --no-progress --prefer-dist --optimize-autoloader
 
-       - name: Test Coverage
 
-         run: ./vendor/bin/phpunit --verbose --coverage-text
 
 
  |