3535 - uses: actions/checkout@v6
3636
3737 - name: Install uv
38- uses: astral-sh/setup-uv@v8
38+ uses: astral-sh/setup-uv@v8.0.0
3939 with:
4040 enable-cache: true
4141
@@ -46,10 +46,10 @@ jobs:
4646 run: uv sync --frozen --extra dev --extra test{% if include_docs %} --extra docs{% endif %}
4747
4848 - name: Run Ruff (format check)
49- run: uv run ruff format --check .
49+ run: uv run ruff format --check src tests
5050
5151 - name: Run Ruff (lint)
52- run: uv run ruff check .
52+ run: uv run ruff check src tests
5353
5454 typecheck:
5555 name: Type Check
5858 - uses: actions/checkout@v6
5959
6060 - name: Install uv
61- uses: astral-sh/setup-uv@v8
61+ uses: astral-sh/setup-uv@v8.0.0
6262 with:
6363 enable-cache: true
6464
7171 - name: Run BasedPyright
7272 run: uv run basedpyright
7373
74+ precommit:
75+ name: Pre-commit
76+ runs-on: ubuntu-latest
77+ steps:
78+ - uses: actions/checkout@v6
79+
80+ - name: Install uv
81+ uses: astral-sh/setup-uv@v8.0.0
82+ with:
83+ enable-cache: true
84+
85+ - name: Set up Python
86+ run: uv python install {{ python_min_version }}
87+
88+ - name: Install dependencies
89+ run: uv sync --frozen --extra dev --extra test{% if include_docs %} --extra docs{% endif %}
90+
91+ - name: Pre-commit (all files)
92+ run: uv run pre-commit run --all-files --verbose
93+
7494 test:
7595 name: Test (Python {% raw %} ${{ matrix.python-version }}{% endraw %} )
7696 runs-on: ubuntu-latest
83103 - uses: actions/checkout@v6
84104
85105 - name: Install uv
86- uses: astral-sh/setup-uv@v8
106+ uses: astral-sh/setup-uv@v8.0.0
87107 with:
88108 enable-cache: true
89109
@@ -107,13 +127,13 @@ jobs:
107127
108128 check:
109129 name: All Checks Passed
110- needs: [lint, typecheck, test]
130+ needs: [lint, typecheck, precommit, test]
111131 runs-on: ubuntu-latest
112132 if: always()
113133 steps:
114134 - name: Check results
115135 run: |
116- if {% raw %} [[ "${{ needs.lint.result }}" != "success" || "${{ needs.typecheck.result }}" != "success" || "${{ needs.test.result }}" != "success" ]]{% endraw %} ; then
136+ if {% raw %} [[ "${{ needs.lint.result }}" != "success" || "${{ needs.typecheck.result }}" != "success" || "${{ needs.precommit.result }}" != "success" || "${{ needs. test.result }}" != "success" ]]{% endraw %} ; then
117137 echo "One or more checks failed"
118138 exit 1
119139 fi
0 commit comments