chore(repo): remove pip dependabot entry in favor of uv #39
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| # If you are using a develop branch, include it here (e.g., [main, develop]). | |
| branches: [main] | |
| pull_request: | |
| # If you are using a develop branch, include it here as well. | |
| branches: [main] | |
| # Cancel outdated workflows for the same PR or branch | |
| concurrency: | |
| group: ci-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| enable-cache: true | |
| cache-dependency-glob: "**/uv.lock" | |
| cache-python: true | |
| - name: Set up Python | |
| run: uv python install | |
| - name: Install dependencies | |
| run: uv sync --frozen --all-groups | |
| - name: Lint and Format check | |
| run: | | |
| uv lock --check | |
| uv run ruff check . | |
| uv run ruff format --check . | |
| - name: Type check | |
| run: uv run mypy src tests | |
| - name: Detect changed docs files | |
| id: changes | |
| uses: dorny/paths-filter@v4 | |
| with: | |
| filters: | | |
| docs: | |
| - "docs/**" | |
| - name: Documentation Lint | |
| if: steps.changes.outputs.docs == 'true' | |
| run: uv run pymarkdown scan docs | |
| test: | |
| runs-on: ubuntu-latest | |
| needs: lint | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # Ready for expansion (e.g., ["3.13", "3.14"]) | |
| python-version: ["3.14"] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| enable-cache: true | |
| cache-dependency-glob: "**/uv.lock" | |
| cache-python: true | |
| - name: Set up Python ${{ matrix.python-version }} | |
| run: uv python install ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: uv sync --frozen --all-groups | |
| - name: Run tests | |
| run: uv run pytest --cov=src --cov-report=xml | |
| - name: Upload coverage to Codecov | |
| # Only upload for the primary version to avoid collisions/redundancy | |
| if: github.actor != 'dependabot[bot]' && matrix.python-version == '3.14' | |
| uses: codecov/codecov-action@v6 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: true |