name: CI on: push: branches: [main] pull_request: jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.12" - name: Install package with dev extras run: pip install -e ".[dev]" - name: Ruff (lint) run: ruff check src/ tests/ build_archive.py scripts/eval_prompt_tests.py - name: Mypy (type check) run: mypy test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: # requires-python = ">=3.10"; test the floor and a recent version. python-version: ["3.10", "3.12"] steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install package with dev extras run: pip install -e ".[dev]" - name: Run test suite # `python -m pytest` puts the repo root on sys.path so the test modules # can `import tests.*` (the pytest console script would not). run: python -m pytest -q