name: Code Coverage

on:
  push:
  pull_request:
  schedule:
  - cron: '0 0 * * *'

jobs:
  php-tests:
    runs-on: ubuntu-latest

    name: PHP Code Coverage

    steps:
    - name: Checkout code
      uses: actions/checkout@v1

    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: 8.1
        extensions: mbstring
        coverage: pcov

    - name: Install dependencies
      run: |
        composer update --prefer-dist --no-interaction --no-suggest --with-all-dependencies

    - name: Check Code Coverage
      run: vendor/bin/phpunit --verbose --coverage-text --coverage-clover=clover.xml --coverage-html=coverage

    - uses: actions/upload-artifact@v2
      with:
        name: coverage
        path: coverage