Skip to content

CI

CI #50

Workflow file for this run

name: CI
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ master ]
pull_request:
branches: [ master ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build:
name: PHP ${{ matrix.php-version }} - RedisTimeSeries ${{ matrix.rts-version }}
runs-on: ubuntu-latest
strategy:
matrix:
php-version: ['7.4', '8.0', '8.1', '8.2']
rts-version: ['1.4.13', '1.6.19', '1.8.10']
services:
redis:
image: redislabs/redistimeseries:${{ matrix.rts-version }}
ports:
- 6379:6379
options: >-
--health-cmd="redis-cli ping"
--health-interval=10s
--health-timeout=5s
--health-retries=5
--health-start-period=20s
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: redis
coverage: xdebug
- name: Get composer cache directory
id: composer-cache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Cache composer dependencies
uses: actions/cache@v2
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-
- name: Install dependencies
run: |
composer install --no-progress --prefer-dist --optimize-autoloader
- name: Run tests
run: vendor/bin/phpunit --coverage-text
env:
REDIS_HOST: localhost
REDIS_TIMESERIES_VERSION: ${{ matrix.rts-version }}
- name: Run psalm
run: vendor/bin/psalm
- name: Export coverage
uses: paambaati/codeclimate-action@v2.7.5
if: ${{ matrix.php-version == '7.4' && matrix.rts-version == '1.4.10' }}
env:
CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}}
with:
coverageLocations: clover.xml:clover