99 workflow_dispatch :
1010
1111jobs :
12- check_python :
13- name : Check Python ${{ matrix.python-version }}, ${{ matrix.os }}
12+ check :
13+ runs-on : ubuntu-24.04
14+ name : Lint and check docs build
15+ steps :
16+ - uses : actions/checkout@v4
17+
18+ - name : Install just
19+ uses : extractions/setup-just@v3
20+
21+ - name : Install uv and set the latest supported Python version
22+ uses : astral-sh/setup-uv@v7
23+ with :
24+ python-version : 3.14
25+
26+ - name : Lint Python
27+ run : just lint-python
28+
29+ - name : Lint Rust
30+ run : just lint-rust
31+
32+ - name : Check docs build
33+ run : just build-docs
34+
35+ test :
36+ name : Run tests for Python ${{ matrix.python-version }}, ${{ matrix.os }}
1437 runs-on : ${{ matrix.os }}
1538
1639 strategy :
1740 matrix :
1841 python-version : [
19- " 3.9" , "3.10", "3.11", "3.12", "3.13-dev "
42+ " 3.9" , "3.10", "3.11", "3.12", "3.13", "3.14 "
2043 ]
2144 os : [ubuntu-latest, macos-latest, windows-latest]
2245
2346 steps :
2447 - uses : actions/checkout@v4
25- - uses : actions-rs/toolchain@v1
26- with :
27- toolchain : stable
28- - uses : actions/setup-python@v5
48+
49+ - name : Install just
50+ uses : extractions/setup-just@v3
51+
52+ - name : Install uv and set the Python version
53+ uses : astral-sh/setup-uv@v7
2954 with :
3055 python-version : ${{ matrix.python-version }}
31- - name : Install dependencies
32- run : |
33- python -VV
34- python -m site
35- python -m pip install --upgrade pip setuptools wheel
36- python -m pip install --upgrade coverage[toml] tox tox-gh-actions
37-
38- - name : Run tox targets for ${{ matrix.python-version }}
39- run : python -m tox
40-
41- check_rust :
42- name : Check Rust
43- runs-on : ubuntu-22.04
44- steps :
45- - uses : actions/checkout@v4
46- - uses : actions-rs/toolchain@v1
47- with :
48- toolchain : stable
49- - name : Print versions
50- run : cargo version --verbose && cargo clippy --version
51- - name : Check formatting
52- run : cargo fmt --check
53- working-directory : ./rust
54- - name : Run tests
55- run : cargo test --no-default-features
56- working-directory : ./rust
57- - name : Run linter (clippy)
58- run : cargo clippy --all-targets --all-features -- -D warnings
59- working-directory : ./rust
56+
57+ - name : Test Python
58+ run : just test-python
59+
60+ - name : Test Rust
61+ run : just test-rust
6062
6163 benchmarks :
62- runs-on : ubuntu-22 .04
64+ runs-on : ubuntu-24 .04
6365 steps :
64- - uses : actions/checkout@v4
66+ - uses : actions/checkout@v5
6567
66- - name : Install uv
67- uses : astral-sh /setup-uv@v5
68+ - name : Install just
69+ uses : extractions /setup-just@v3
6870
69- - name : Setup python
70- uses : actions/setup-python@v5
71- with :
72- python-version : " 3.13"
73- allow-prereleases : true
74-
75- # Temporarily install hardcoded dependencies here.
76- # Codspeed doesn't work well with tox, as it runs the tox installation process as part of the benchmarking
77- # process, which is very slow.
78- - name : Install dependencies
79- run : |
80- python -VV
81- uv venv
82- uv pip install pytest==7.4.4 pyyaml==6.0.1 pytest-codspeed==3.2.0 Django==5.1.1 /home/runner/work/grimp/grimp
71+ - name : Install uv
72+ uses : astral-sh/setup-uv@v7
8373
8474 - name : Run benchmarks
85- uses : CodSpeedHQ/action@v3
75+ uses : CodSpeedHQ/action@v4
8676 with :
8777 token : ${{ secrets.CODSPEED_TOKEN }}
78+ mode : instrumentation
8879 run : |
89- uv run pytest tests/benchmarking/ --codspeed
80+ just benchmark-ci
0 commit comments