99 pull_request :
1010
1111jobs :
12+ pre-commit :
13+ name : Pre-commit
14+ runs-on : ubuntu-latest
15+
16+ steps :
17+ - name : Check out repository
18+ uses : actions/checkout@v4
19+
20+ - name : Install uv and Python
21+ uses : astral-sh/setup-uv@v7
22+ with :
23+ python-version : " 3.13"
24+ enable-cache : true
25+
26+ - name : Set up Rust
27+ uses : dtolnay/rust-toolchain@stable
28+ with :
29+ components : clippy, rustfmt
30+
31+ - name : Sync lint environment
32+ run : uv sync --locked --only-group lint
33+
34+ - name : Run pre-commit
35+ run : uv run pre-commit run --all-files
36+
1237 python-tests :
1338 name : Python ${{ matrix.python-version }} on ${{ matrix.os }}
1439 runs-on : ${{ matrix.os }}
@@ -29,27 +54,20 @@ jobs:
2954 - name : Check out repository
3055 uses : actions/checkout@v4
3156
32- - name : Set up Python
33- uses : actions /setup-python@v5
57+ - name : Install uv and Python
58+ uses : astral-sh /setup-uv@v7
3459 with :
3560 python-version : ${{ matrix.python-version }}
61+ enable-cache : true
3662
3763 - name : Set up Rust
3864 uses : dtolnay/rust-toolchain@stable
3965
40- - name : Cache Rust artifacts
41- uses : Swatinem/rust-cache@v2
42-
43- - name : Install test dependencies
44- run : |
45- python -m pip install --upgrade pip
46- python -m pip install pytest scipy
47-
48- - name : Install package
49- run : python -m pip install .
66+ - name : Sync test environment
67+ run : uv sync --locked --only-group test
5068
5169 - name : Run test suite
52- run : pytest -x -v
70+ run : uv run pytest -x -v
5371
5472 rust-checks :
5573 name : Rust checks
0 commit comments