test type annotations with mypy #9
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
on: | |
push: | |
branches: | |
- master | |
- '**' | |
pull_request: | |
branches: [ master ] | |
permissions: | |
contents: read # to fetch code (actions/checkout) | |
jobs: | |
ssl-test: | |
name: Run SSL tests | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Build the Docker test image for tox | |
uses: docker/build-push-action@v6 | |
with: | |
file: tests/Dockerfile | |
tags: rqtest-image:latest | |
push: false | |
- name: Launch tox SSL env only (will only run SSL specific tests) | |
uses: addnab/docker-run-action@v3 | |
with: | |
image: rqtest-image:latest | |
run: stunnel & redis-server & RUN_SSL_TESTS=1 hatch run tox run -e ssl | |
test: | |
name: Python${{ matrix.python-version }}/Redis${{ matrix.redis-version }}/redis-py${{ matrix.redis-py-version }} | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 10 | |
strategy: | |
matrix: | |
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] | |
redis-version: [4, 5, 6, 7] | |
redis-py-version: [3.5.0] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/[email protected] | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Start Redis | |
uses: supercharge/[email protected] | |
with: | |
redis-version: ${{ matrix.redis-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install hatch | |
pip install redis==${{ matrix.redis-py-version }} | |
- name: Test with pytest | |
run: | | |
RUN_SLOW_TESTS_TOO=1 hatch run test:cov --durations=5 | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
file: ./coverage.xml | |
fail_ci_if_error: false | |
mypy: | |
runs-on: ubuntu-latest | |
name: Type check | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python 3.7 | |
uses: actions/[email protected] | |
with: | |
python-version: "3.7" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install hatch | |
- name: Run Test | |
run: | | |
hatch run test:typing |