123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- name: "Continuous Integration"
- on:
- pull_request:
- branches:
- - "*.x"
- - "master"
- push:
- branches:
- - "*.x"
- - "master"
- env:
- fail-fast: true
- SYMFONY_DEPRECATIONS_HELPER: "max[self]=0&max[direct]=0"
- jobs:
- phpunit:
- name: "PHPUnit"
- runs-on: "ubuntu-20.04"
- strategy:
- matrix:
- php-version:
- - "7.1"
- - "7.2"
- - "7.3"
- - "7.4"
- - "8.0"
- deps:
- - "normal"
- include:
- - deps: "low"
- php-version: "7.1"
- - deps: "symfony/lts:v3"
- php-version: "7.3"
- - deps: "dev"
- php-version: "7.3"
- steps:
- - name: "Checkout"
- uses: "actions/checkout@v2"
- with:
- fetch-depth: 2
- - name: "Install PHP with PCOV"
- uses: "shivammathur/setup-php@v2"
- if: "${{ matrix.php-version != '7.1' }}"
- with:
- php-version: "${{ matrix.php-version }}"
- coverage: "pcov"
- ini-values: "zend.assertions=1"
- - name: "Install PHP with XDebug"
- uses: "shivammathur/setup-php@v2"
- if: "${{ matrix.php-version == '7.1' }}"
- with:
- php-version: "${{ matrix.php-version }}"
- coverage: "xdebug"
- ini-values: "zend.assertions=1"
- - name: "Cache dependencies installed with composer"
- uses: "actions/cache@v2"
- with:
- path: "~/.composer/cache"
- key: "php-${{ matrix.php-version }}-composer-locked-${{ hashFiles('composer.lock') }}"
- restore-keys: "php-${{ matrix.php-version }}-composer-locked-"
- # to be removed when doctrine/orm adds support for PHP 8
- - name: "Pretend this is PHP 7.4"
- run: "composer config platform.php 7.4.99"
- if: "${{ matrix.php-version == '8.0' }}"
- - name: "Install dependencies with composer"
- run: "composer update --no-interaction --prefer-dist"
- if: "${{ matrix.deps == 'normal' }}"
- - name: "Install lowest possible dependencies with composer"
- run: "composer update --no-interaction --prefer-dist --prefer-lowest"
- if: "${{ matrix.deps == 'low' }}"
- - name: "Install dependencies at dev stability with composer"
- run: "composer config minimum-stability dev; composer update --no-interaction --prefer-dist --prefer-lowest"
- if: "${{ matrix.deps == 'dev' }}"
- - name: "Install dependencies with composer with extra constraint"
- run: "composer require --no-update ${{matrix.deps}};composer update --no-interaction --prefer-dist"
- if: "${{ contains(matrix.deps, '/') }}"
- - name: "Run PHPUnit"
- run: "vendor/bin/phpunit --coverage-clover=coverage.xml"
- - name: "Upload coverage file"
- uses: "actions/upload-artifact@v2"
- if: "${{ ! contains(matrix.deps, '/') }}"
- with:
- name: "phpunit-${{ matrix.deps }}-${{ matrix.php-version }}.coverage"
- path: "coverage.xml"
- - name: "Upload coverage file, sanitize the name"
- uses: "actions/upload-artifact@v2"
- if: "${{ contains(matrix.deps, '/') }}"
- with:
- name: "phpunit-symfony-lts-${{ matrix.php-version }}.coverage"
- path: "coverage.xml"
- upload_coverage:
- name: "Upload coverage to Codecov"
- runs-on: "ubuntu-20.04"
- needs:
- - "phpunit"
- steps:
- - name: "Checkout"
- uses: "actions/checkout@v2"
- with:
- fetch-depth: 2
- - name: "Download coverage files"
- uses: "actions/download-artifact@v2"
- with:
- path: "reports"
- - name: "Upload to Codecov"
- uses: "codecov/codecov-action@v1"
- with:
- directory: reports
|