name: PHP

on: [push, pull_request]

jobs:
  build:

    runs-on: ubuntu-latest

    strategy:
      matrix:
        php-version: ['7.1', '7.2', '7.3', '7.4']

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

    - name: Setup PHP ${{ matrix.php-version }}
      uses: shivammathur/setup-php@v1
      with:
        php-version: ${{ matrix.php-version }}
        extensions: mbstring, zip, sqlite3

    - name: Install dependencies
      run: composer install --no-interaction

    - name: Copy configuration.php
      run: cp configuration_sample.php configuration.php

    - name: Execute tests
      run: vendor/bin/phpunit --coverage-clover=coverage.xml

    - name: Upload coverage to Codecov
      uses: codecov/codecov-action@v1
      with:
        token: ${{ secrets.CODECOV_TOKEN }}
        file: ./coverage.xml
