| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- # https://docs.github.com/en/actions
- name: Build
- on:
- pull_request:
- push:
- branches:
- - main
- jobs:
- unit-tests:
- name: Tests
- runs-on: ubuntu-latest
- strategy:
- matrix:
- php-version:
- - 7.3
- - 7.4
- - 8.0
- steps:
- - name: Checkout
- uses: actions/checkout@v2
- - name: Install PHP
- uses: shivammathur/setup-php@v2
- with:
- coverage: none
- php-version: ${{ matrix.php-version }}
- - name: Determine composer cache directory
- id: determine-composer-cache-directory
- run: echo "::set-output name=directory::$(composer config cache-dir)"
- - name: Cache dependencies installed with composer
- uses: actions/cache@v2
- with:
- path: ${{ steps.determine-composer-cache-directory.outputs.directory }}
- key: php-${{ matrix.php-version }}-composer-${{ hashFiles('composer.json') }}
- restore-keys: php-${{ matrix.php-version }}-composer-
- - name: Install dependencies
- run: composer install --no-interaction --no-progress
- - name: Run phpunit/phpunit
- run: vendor/bin/phpunit
- tests-with-coverage:
- name: "Tests with coverage and PR Comments"
- runs-on: ubuntu-latest
- strategy:
- matrix:
- php-version:
- - 7.4
- steps:
- - name: Checkout
- uses: actions/checkout@v2
- - name: Install PHP
- uses: shivammathur/setup-php@v2
- with:
- coverage: pcov
- php-version: ${{ matrix.php-version }}
- - 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: Determine composer cache directory
- id: determine-composer-cache-directory
- run: echo "::set-output name=directory::$(composer config cache-dir)"
- - name: Cache dependencies installed with composer
- uses: actions/cache@v2
- with:
- path: ${{ steps.determine-composer-cache-directory.outputs.directory }}
- key: php-${{ matrix.php-version }}-composer-${{ hashFiles('composer.json') }}
- restore-keys: php-${{ matrix.php-version }}-composer-
- - name: Install dependencies
- run: composer install --no-interaction --no-progress
- - name: Run phpunit/phpunit with code coverage
- run: vendor/bin/phpunit --coverage-text --coverage-clover=clover.xml --coverage-xml=coverage/coverage.xml --log-junit=coverage/junit.xml
- - name: Run infection
- run: vendor/bin/infection --threads=4 --min-msi=81 --min-covered-msi=81 --coverage=coverage
|