Blame | Last modification | View Log | Download
name: mainon: [ push, pull_request ]jobs:test:runs-on: ubuntu-lateststrategy:matrix:experimental:- falsephp-version:- '7.2'- '7.3'- '7.4'- '8.0'- '8.1'- '8.2'include:- php-version: 'nightly'experimental: truename: PHP ${{ matrix.php-version }}steps:- name: Checkoutuses: actions/checkout@v3- name: Setup PHP, with composer and extensionsuses: shivammathur/setup-php@v2with:php-version: ${{ matrix.php-version }}coverage: none- name: Get composer cache directoryid: composer-cacherun: echo "::set-output name=dir::$(composer config cache-files-dir)"- name: Cache composer dependenciesuses: actions/cache@v3with:path: ${{ steps.composer-cache.outputs.dir }}key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}restore-keys: ${{ runner.os }}-composer-- name: Delete composer lock fileid: composer-lockif: ${{ matrix.php-version == '8.0' || matrix.php-version == '8.1' || matrix.php-version == '8.2' || matrix.php-version == 'nightly' }}run: |rm composer.lockecho "::set-output name=flags::--ignore-platform-reqs"- name: Install dependenciesrun: composer update --no-progress --prefer-dist --optimize-autoloader ${{ steps.composer-lock.outputs.flags }}- name: Setup problem matchers for PHPrun: echo "::add-matcher::${{ runner.tool_cache }}/php.json"- name: Setup problem matchers for PHPUnitrun: 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_ACTIONphpcs:runs-on: ubuntu-lateststeps:- name: Checkoutuses: actions/checkout@v3- name: Setup PHP, with composer and extensionsuses: shivammathur/setup-php@v2with:php-version: 7.4coverage: nonetools: cs2pr- name: Get composer cache directoryid: composer-cacherun: echo "::set-output name=dir::$(composer config cache-files-dir)"- name: Cache composer dependenciesuses: actions/cache@v3with:path: ${{ steps.composer-cache.outputs.dir }}key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}restore-keys: ${{ runner.os }}-composer-- name: Install dependenciesrun: composer install --no-progress --prefer-dist --optimize-autoloader- name: Code style with PHP_CodeSnifferrun: ./vendor/bin/phpcs -q --report=checkstyle classes/src/ | cs2prversions:runs-on: ubuntu-lateststeps:- name: Checkoutuses: actions/checkout@v3- name: Setup PHP, with composer and extensionsuses: shivammathur/setup-php@v2with:php-version: 7.4coverage: nonetools: cs2pr- name: Get composer cache directoryid: composer-cacherun: echo "::set-output name=dir::$(composer config cache-files-dir)"- name: Cache composer dependenciesuses: actions/cache@v3with:path: ${{ steps.composer-cache.outputs.dir }}key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}restore-keys: ${{ runner.os }}-composer-- name: Install dependenciesrun: composer install --no-progress --prefer-dist --optimize-autoloader- name: Code Version Compatibility check with PHP_CodeSnifferrun: ./vendor/bin/phpcs -q --report-width=200 --report=summary,full classes/src/ --standard=PHPCompatibility --runtime-set testVersion 7.2-coverage:runs-on: ubuntu-lateststeps:- name: Checkoutuses: actions/checkout@v3- name: Setup PHP, with composer and extensionsuses: shivammathur/setup-php@v2with:php-version: 7.4coverage: pcov- name: Get composer cache directoryid: composer-cacherun: echo "::set-output name=dir::$(composer config cache-files-dir)"- name: Cache composer dependenciesuses: actions/cache@v3with:path: ${{ steps.composer-cache.outputs.dir }}key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}restore-keys: ${{ runner.os }}-composer-- name: Install dependenciesrun: composer install --no-progress --prefer-dist --optimize-autoloader- name: Test Coveragerun: ./vendor/bin/phpunit --verbose --coverage-text