Skip to content

Merge pull request #420 from GolubevVA/feature/redis-cluster #818

Merge pull request #420 from GolubevVA/feature/redis-cluster

Merge pull request #420 from GolubevVA/feature/redis-cluster #818

Workflow file for this run

name: CI
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
tests:
runs-on: ubuntu-latest
services:
redis:
image: redis:6-alpine
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 6379:6379
redis-cluster:
image: grokzen/redis-cluster:7.0.7
env:
IP: "0.0.0.0"
options: >-
--health-cmd "redis-cli -c -p 7000 ping"
--health-interval 10s
--health-timeout 5s
--health-retries 30
ports:
- 7000:7000
- 7001:7001
- 7002:7002
- 7003:7003
- 7004:7004
- 7005:7005
strategy:
max-parallel: 5
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox
- name: Basic Test Suit
run: |
tox -e py
- name: Redis Test Suit
env:
REDIS_HOST: localhost
REDIS_PORT: 6379
run: |
tox -e py-redis
- name: Redis Cluster Test Suit
env:
REDIS_CLUSTER_HOST: localhost
REDIS_CLUSTER_PORT: 7000
run: |
tox -e py-redis_cluster
- name: Diskcache Test Suit
run: |
tox -e py-diskcache
- name: Intergational Test Suit
run: |
tox -e py-integration
- name: Generate coverage report
run: |
tox -e coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./.tox/coverage.xml
flags: unittests
fail_ci_if_error: true