name: CI on: push: branches: [ main, develop ] pull_request: branches: [ main, develop ] jobs: test: runs-on: ubuntu-latest strategy: matrix: python-version: ['3.10', '3.11', '3.12'] steps: - uses: actions/checkout@v4 - name: Install uv uses: astral-sh/setup-uv@v3 - name: Set up Python run: uv python install ${{ matrix.python-version }} - name: Install dependencies run: uv sync --extra dev - name: Run pre-commit run: uv run pre-commit run --all-files - name: Run tests run: uv run pytest --cov=src/notebooklm_agent --cov-report=xml - name: Upload coverage uses: codecov/codecov-action@v3 with: file: ./coverage.xml fail_ci_if_error: false lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install uv uses: astral-sh/setup-uv@v3 - name: Set up Python run: uv python install 3.11 - name: Install dependencies run: uv sync --extra dev - name: Lint with ruff run: uv run ruff check src/ tests/ - name: Format check with ruff run: uv run ruff format --check src/ tests/ - name: Type check with mypy run: uv run mypy src/notebooklm_agent