Skip to content

tests: fix hypothesis tests when running in CI #198

tests: fix hypothesis tests when running in CI

tests: fix hypothesis tests when running in CI #198

Workflow file for this run

name: test
on: [push, pull_request]
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: [3.9, '3.10', 3.11, '3.12', '3.13', 'pypy-3.9']
exclude:
# hangs
- os: macos-latest
python-version: pypy-3.9
- os: windows-latest
python-version: pypy-3.9
include:
- os: ubuntu-latest
pip-cache: ~/.cache/pip
poetry-cache: ~/.cache/pypoetry
- os: macos-latest
pip-cache: ~/Library/Caches/pip
poetry-cache: ~/Library/Caches/pypoetry
- os: windows-latest
pip-cache: ~\AppData\Local\pip\Cache
poetry-cache: ~\AppData\Local\pypoetry\Cache
- os: ubuntu-latest
python-version: 3.9
build-docs: true
- os: ubuntu-latest
python-version: 3.11
build-docs: true
build-dist: true
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- uses: actions/cache@v4
with:
path: |
${{ matrix.pip-cache }}
${{ matrix.poetry-cache }}
key: ${{ runner.os }}-${{ hashFiles('**/pyproject.toml') }}
restore-keys: |
${{ runner.os }}-
- name: Install dependencies
run: |
python -m pip install --upgrade poetry build
poetry install
- name: Run tests
run: |
poetry run coverage run --branch setup.py test
poetry run coverage xml -i
- name: Run mypy
# mypy is too slow there
if: matrix.python-version != 'pypy-3.9'
run: |
poetry run mypy .
- name: Run flake8
run: |
poetry run flake8
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
- name: Build docs
if: matrix.build-docs
run: |
poetry run sphinx-build -W -a -E -b html -n docs docs/_build
- name: Build dist
if: matrix.build-dist
run: |
python -m build
- name: Upload dist
if: matrix.build-dist
uses: actions/upload-artifact@v4
with:
name: dist
path: dist/*