name: Test and coverage on: [push, pull_request] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 2 - name: Set up Python 3.12 uses: actions/setup-python@v2 with: python-version: "3.12" - name: Install uv uses: astral-sh/setup-uv@v6 - name: Install dependencies run: uv sync --frozen - name: Run tests and collect coverage run: make coverage - name: Upload coverage to Codecov uses: codecov/codecov-action@v2