@@ -12,28 +12,31 @@ concurrency:
12
12
cancel-in-progress : true
13
13
14
14
env :
15
+ UV_FROZEN : 1
15
16
# Many color libraries just need this to be set to any value, but at least
16
17
# one distinguishes color depth, where "3" -> "256-bit color".
17
18
FORCE_COLOR : 3
18
19
19
20
jobs :
20
21
format :
21
- name : Format
22
+ name : lint
22
23
runs-on : ubuntu-latest
23
24
steps :
24
25
- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
25
26
26
27
- name : Install uv
27
28
uses : astral-sh/setup-uv@f0ec1fc3b38f5e7cd731bb6ce540c5af426746bb
28
29
29
- - name : Install the project
30
- run : uv sync --locked --group test
30
+ - name : ruff
31
+ run : |
32
+ uv run ruff check --output-format=github
33
+ uv run ruff format --check
31
34
32
- - name : Run lefthook hooks
33
- run : uv run --frozen lefthook run pre-commit
35
+ - name : mypy
36
+ run : uv run mypy --tb --no-incremental --cache-dir=/dev/null src
34
37
35
38
checks :
36
- name : Check Python ${{ matrix.python-version }} on ${{ matrix.runs-on }}
39
+ name : test runtime
37
40
runs-on : ${{ matrix.runs-on }}
38
41
needs : [format]
39
42
strategy :
@@ -50,21 +53,18 @@ jobs:
50
53
with :
51
54
python-version : ${{ matrix.python-version }}
52
55
53
- - name : Install the project
54
- run : uv sync --locked --group test
55
-
56
56
- name : Test package
57
57
run : >-
58
- uv run --frozen pytest
59
- --cov --cov-report=xml --cov-report=term --durations=20
58
+ uv run --group=test_runtime
59
+ pytest --cov --cov-report=xml --cov-report=term --durations=20
60
60
61
61
- name : Upload coverage report
62
62
uses : codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24
63
63
with :
64
64
token : ${{ secrets.CODECOV_TOKEN }}
65
65
66
66
check_oldest :
67
- name : Check Oldest Dependencies
67
+ name : runtime tests (oldest deps)
68
68
runs-on : ${{ matrix.runs-on }}
69
69
needs : [format]
70
70
strategy :
@@ -80,13 +80,11 @@ jobs:
80
80
uses : astral-sh/setup-uv@f0ec1fc3b38f5e7cd731bb6ce540c5af426746bb
81
81
with :
82
82
python-version : ${{ matrix.python-version }}
83
- - name : Install the project
84
- run : uv sync --group test --resolution lowest-direct
85
83
86
84
- name : Test package
87
85
run : >-
88
- uv run --frozen pytest
89
- --cov --cov-report=xml --cov-report=term --durations=20
86
+ uv run --group=test_runtime --resolution=lowest-direct
87
+ pytest --cov --cov-report=xml --cov-report=term --durations=20
90
88
91
89
- name : Upload coverage report
92
90
uses : codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24
0 commit comments