name: Tests

on:
    push:
        branches: [ master ]
    pull_request:

jobs:
    build:

        runs-on: ubuntu-latest

        steps:
            - uses: actions/checkout@v2

            - name: Validate composer.json and composer.lock
              run: composer validate

            - name: Cache Composer packages
              id: composer-cache
              uses: actions/cache@v2
              with:
                  path: vendor
                  key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
                  restore-keys: |
                      ${{ runner.os }}-php-

            - name: Install dependencies
              if: steps.composer-cache.outputs.cache-hit != 'true'
              run: composer install --prefer-dist --no-progress --no-suggest

            - name: Run test suite
              run: vendor/bin/phpunit --stop-on-failure

        # Add a test script to composer.json, for instance: "test": "vendor/bin/phpunit"
        # Docs: https://getcomposer.org/doc/articles/scripts.md

        # - name: Run test suite
        #   run: composer run-script test
