Skip to content

Export type annotations for public use #76

Export type annotations for public use

Export type annotations for public use #76

Workflow file for this run

name: Test
on: [push, pull_request]
env:
FORCE_COLOR: 1
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12-dev"]
cython-version: ["0.29", "3.0"]
os: [ubuntu-20.04]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install Linux dependencies
run: |
sudo apt-get update
sudo apt-get install -y libattr1-dev libfuse3-dev fuse3
sudo apt-get install -y pkg-config gcc ninja-build meson
- name: Install Python dependencies (misc)
run: pip install setuptools trio pytest pytest_trio mypy sphinx
- name: Install Python dependencies (Cython 0.29)
if: ${{ matrix.cython-version == '0.29' }}
run: pip install "Cython<3"
- name: Install Python dependencies (Cython 3.0)
if: ${{ matrix.cython-version == '3.0' }}
run: pip install "Cython>=3"
- name: Build
run: |
# Disable developer mode, so that build does not suddenly break if
# e.g. a newer compiler version results in new warning messages.
rm MANIFEST.in
python setup.py build_cython
python setup.py build_ext --inplace
- name: Test
run: pytest -v -rs test/
- name: Typecheck
run: mypy
- name: Build docs
run: sphinx-build -b html rst doc/html