You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.2 KiB
92 lines
2.2 KiB
|
|
name: "Continuous Integration"
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- "*.x"
|
|
push:
|
|
branches:
|
|
- "*.x"
|
|
|
|
env:
|
|
fail-fast: true
|
|
COMPOSER_ROOT_VERSION: "1.4"
|
|
|
|
jobs:
|
|
phpunit:
|
|
name: "PHPUnit with SQLite"
|
|
runs-on: "ubuntu-20.04"
|
|
|
|
strategy:
|
|
matrix:
|
|
php-version:
|
|
- "7.1"
|
|
- "7.2"
|
|
- "7.3"
|
|
- "7.4"
|
|
- "8.0"
|
|
|
|
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"
|
|
|
|
- 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: "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-"
|
|
|
|
- name: "Install dependencies with composer"
|
|
run: "composer update --no-interaction --no-progress"
|
|
|
|
- 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 }}.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
|