honeybadger-io/honeybadger-laravel

View on GitHub
.github/workflows/run-tests.yml

Summary

Maintainability
Test Coverage
name: Run Tests
on:
  push:
    branches:
      - master
  pull_request:
  schedule:
    - cron: 0 0 * * *
jobs:
  run-tests:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        php:
          - 8.4
          - 8.3
          - 8.2
          - 8.1
        laravel:
          - 11.*
          - 10.*
        deps:
          - lowest
          - latest
        include:
          - {php: '8.4', laravel: '11.*'}
          - {php: '8.3', laravel: '11.*'}
          - {php: '8.2', laravel: '11.*'}

          - {php: '8.4', laravel: '10.*'}
          - {php: '8.3', laravel: '10.*'}
          - {php: '8.2', laravel: '10.*'}
          - {php: '8.1', laravel: '10.*'}
        exclude:
          - {php: '8.1', laravel: '11.*'}
    name: PHP ${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.deps }}
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Cache dependencies
        uses: actions/cache@v4
        with:
          path: ~/.composer/cache/files
          key: >-
            dependencies-laravel-${{ matrix.laravel }}-php-${{ matrix.php
            }}-composer-${{ hashFiles('composer.json') }}
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: '${{ matrix.php }}'
          coverage: none

      - name: Install Laravel ${{ matrix.laravel }}
        run: composer require "laravel/framework:${{ matrix.laravel }}" --with-all-dependencies --no-interaction

      - name: Install dependencies (lowest)
        if: ${{ matrix.deps == 'lowest' }}
        run: composer update --prefer-lowest --prefer-dist --no-interaction

      - name: Install dependencies (latest)
        if: ${{ matrix.deps != 'lowest' }}
        run: composer update --prefer-dist --no-interaction

      - name: Execute tests
        run: vendor/bin/phpunit --no-coverage