name: Tests on: [push, pull_request] jobs: predis: name: PHP ${{ matrix.php-versions }} (Redis ${{ matrix.redis-versions }}) runs-on: ubuntu-latest services: redis: image: redis:${{ matrix.redis-versions }} ports: - 6379:6379 options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3 strategy: fail-fast: false matrix: php-versions: ['7.2', '7.3', '7.4', '8.0'] redis-versions: ['3', '4', '5', '6'] steps: - name: Checkout uses: actions/checkout@v2 - name: Setup PHP with Composer and extensions with: php-version: ${{ matrix.php-versions }} uses: shivammathur/setup-php@v2 - name: Get Composer cache directory id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache Composer dependencies uses: actions/cache@v2 with: php-version: ${{ matrix.php-versions }} path: ${{ steps.composercache.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install Composer dependencies env: PHP_VERSION: ${{ matrix.php-versions }} run: composer install --no-progress --prefer-dist --optimize-autoloader $(if [ "$PHP_VERSION" == "8.0" ]; then echo "--ignore-platform-reqs"; fi;) - name: Test with PHPUnit run: vendor/bin/phpunit