# https://help.github.com/en/categories/automating-your-workflow-with-github-actions on: - "pull_request" - "push" name: "CI" jobs: tests: name: "Tests" runs-on: "ubuntu-latest" strategy: fail-fast: false matrix: php-version: - "7.2" - "7.3" - "7.4" - "8.0" dependencies: - highest experimental: - false include: - php-version: "8.1" dependencies: highest experimental: true continue-on-error: ${{ matrix.experimental }} steps: - name: "Configure git to avoid issues with line endings" run: "git config --global core.autocrlf false" - name: "Checkout" uses: "actions/checkout@v2" - name: "Install PHP with extensions" uses: "shivammathur/setup-php@v2" with: php-version: "${{ matrix.php-version }}" coverage: "pcov" - name: "Cache dependencies" uses: actions/cache@v2 with: path: "~/.composer/cache" key: "php${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('**/composer.json') }}" restore-keys: "php${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-" - name: "Install dependencies" run: "php tools/composer.phar install --prefer-dist" - name: "Run tests with phpunit.phar" run: "php tools/phpunit.phar --coverage-clover=coverage.xml"