name: Test application

on:
    pull_request:
    push:
        branches:
            - 'master'
            - '[0-9]+.x'
            - '[0-9]+.[0-9]+'
            - '[0-9]+.[0-9]+.x'

jobs:
    test:
        name: 'PHP ${{ matrix.php-version }} ${{ matrix.dependencies}}'
        runs-on: ubuntu-20.04

        strategy:
            fail-fast: false
            matrix:
                include:
                    - php-version: '7.1'
                      dependencies: 'lowest'
                    - php-version: '7.4'
                    - php-version: '8.0'

        steps:
            - name: Checkout project
              uses: actions/checkout@v2

            - name: Install and configure PHP
              uses: shivammathur/setup-php@v2
              with:
                  php-version: ${{ matrix.php-version }}
                  tools: 'composer:v2'

            - name: Install dependencies with Composer
              uses: ramsey/composer-install@v1
              with:
                  dependency-versions: ${{ matrix.dependencies }}
                  composer-options: --prefer-dist

            - name: Execute test cases
              run: vendor/bin/phpunit
