Skip to content

Workflow file for this run

name: Build
on: push
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
fail-fast: false
env:
PYTHONDEVMODE: 1
steps:
- uses: actions/checkout@v4
# Install toolchain.
- run: pipx install poetry
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: poetry
# Install dependencies.
- run: poetry check
- run: poetry check --lock
- run: poetry run python --version
- run: poetry install
# Run checks.
- run: poetry run ruff check
- run: poetry run ruff format --check
- run: poetry run mypy
# Run tests.
- run: poetry run pytest
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Install toolchain.
- run: pipx install poetry
- uses: actions/setup-python@v5
with:
python-version: "3.x"
cache: poetry
# Install dependencies.
- run: poetry install --without dev --with docs
# Build docs.
- run: poetry run sphinx-build -W docs docs/_build