123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- name: "Continuous Integration"
- on:
- pull_request:
- branches:
- - "*.x"
- push:
- branches:
- - "*.x"
- jobs:
- phpunit:
- name: "PHPUnit"
- runs-on: "ubuntu-20.04"
- env:
- SYMFONY_REQUIRE: ${{matrix.symfony-require}}
- SYMFONY_DEPRECATIONS_HELPER: ${{matrix.symfony-deprecations-helper}}
- strategy:
- fail-fast: false
- matrix:
- php-version:
- - "7.1"
- - "7.2"
- - "7.3"
- - "7.4"
- dependencies:
- - "highest"
- stability:
- - "stable"
- symfony-require:
- - ""
- symfony-deprecations-helper:
- - ""
- include:
- # Tests the lowest set of dependencies
- - dependencies: "lowest"
- stability: "stable"
- php-version: "7.1"
- symfony-deprecations-helper: "weak"
- # Test against latest Symfony 4.4 dev
- - symfony-require: "4.4.*"
- dependencies: "highest"
- php-version: "7.3"
- symfony-deprecations-helper: "weak"
- # Test against latest Symfony 5.2 dev
- - symfony-require: "5.2.*"
- dependencies: "highest"
- php-version: "7.3"
- symfony-deprecations-helper: "weak"
- - php-version: "8.0"
- dependencies: "highest"
- stability: "dev"
- symfony-deprecations-helper: "weak"
- steps:
- - name: "Checkout"
- uses: "actions/checkout@v2"
- with:
- fetch-depth: 2
- - 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"
- extensions: "pdo_sqlite"
- - 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"
- extensions: "pdo_sqlite"
- - name: "Globally install symfony/flex"
- run: "composer global require --no-progress --no-scripts --no-plugins symfony/flex"
- - name: "Require symfony/messenger"
- run: "composer require --dev symfony/messenger --no-update"
- if: "${{ startsWith(matrix.symfony-require, '4.') }}"
- - name: "Enforce using stable dependencies"
- run: "composer config minimum-stability stable"
- if: "${{ matrix.stability == 'stable' }}"
- - name: "Install dependencies with Composer"
- uses: "ramsey/composer-install@v1"
- with:
- dependency-versions: "${{ matrix.dependencies }}"
- composer-options: "--prefer-dist"
- - name: "Run PHPUnit"
- run: "vendor/bin/phpunit --coverage-clover=coverage.xml"
- - name: "Upload coverage file"
- uses: "actions/upload-artifact@v2"
- with:
- name: "phpunit-${{ matrix.php-version }}-${{ matrix.dependencies }}-${{ hashFiles('composer.lock') }}.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
|