name: Tests on: ['push', 'pull_request'] permissions: contents: read jobs: ci: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] php: ['7.3', '7.4', '8.0', '8.1', '8.2'] dependency-version: [prefer-lowest, prefer-stable] parallel: ['', '--parallel'] exclude: - php: 8.1 os: macos-latest - php: 8.1 os: windows-latest - php: 8.2 os: macos-latest - php: 8.2 os: windows-latest name: PHP ${{ matrix.php }} - ${{ matrix.os }} - ${{ matrix.dependency-version }} - ${{ matrix.parallel }} steps: - name: Checkout uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2 - name: Setup PHP uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2 with: php-version: ${{ matrix.php }} tools: composer:v2 coverage: none - name: Setup Problem Matchers run: | echo "::add-matcher::${{ runner.tool_cache }}/php.json" echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" - name: Install PHP dependencies run: composer update --${{ matrix.dependency-version }} --no-interaction --no-progress - name: Unit Tests run: php bin/pest --colors=always --exclude-group=integration ${{ matrix.parallel }} - name: Integration Tests run: php bin/pest --colors=always --group=integration