name: CI on: push: branches: [main, master] pull_request: branches: [main, master] jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.11" - run: pip install ruff - run: ruff check . - run: ruff format --check . test: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.11", "3.12"] steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | pip install -e ".[pdf]" pip install pytest pytest-asyncio pytest-cov ruff - name: Run tests run: pytest --cov=. --cov-report=xml --cov-report=term-missing -v - name: Upload coverage if: matrix.python-version == '3.11' uses: actions/upload-artifact@v4 with: name: coverage-report path: coverage.xml