name: Continuous Integration on: ['push', 'pull_request'] jobs: ci: runs-on: ${{ matrix.os }} strategy: fail-fast: true matrix: os: [ubuntu-latest, macos-latest, windows-latest] php: [7.3, 7.4] dependency-version: [prefer-lowest, prefer-stable] name: Tests ${{ matrix.php }} (${{ matrix.dependency-version }}) - ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v2 - name: Cache dependencies uses: actions/cache@v1 with: path: ~/.composer/cache/files key: dependencies-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }} - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} extensions: mbstring, zip tools: prestissimo coverage: pcov - name: Install Composer dependencies run: composer update --${{ matrix.dependency-version }} --no-interaction --prefer-dist - name: Unit Tests run: bin/pest --colors=always --exclude-group=integration - name: Integration Tests run: bin/pest --colors=always --group=integration