@@ -3,13 +3,13 @@ name: CI
3
3
on :
4
4
push :
5
5
branches :
6
- - master
6
+ - master
7
7
pull_request :
8
8
types : [opened, reopened, synchronize]
9
9
10
10
env :
11
- UV_VERSION : " 0.4.28 "
12
- DEFAULT_PYTHON_VERSION : " 3.12 "
11
+ UV_VERSION : 0.6.17
12
+ DEFAULT_PYTHON_VERSION : ' 3.13 '
13
13
14
14
concurrency :
15
15
group : ${{ github.workflow }}-${{ github.ref }}
@@ -21,46 +21,48 @@ jobs:
21
21
runs-on : ubuntu-latest
22
22
23
23
steps :
24
- - name : Check out the repo
25
- uses : actions/checkout@v4
24
+ - name : Check out the repo
25
+ uses : actions/checkout@v4
26
26
27
- - name : Install uv version ${{ env.UV_VERSION }}
28
- uses : astral-sh/setup-uv@v3
29
- with :
30
- version : ${{ env.UV_VERSION }}
31
- enable-cache : true
27
+ - name : Install uv version ${{ env.UV_VERSION }}
28
+ uses : astral-sh/setup-uv@v6
29
+ with :
30
+ version : ${{ env.UV_VERSION }}
31
+ enable-cache : true
32
32
33
- - name : Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
34
- run : uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
33
+ - name : Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
34
+ run : uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
35
35
36
- - name : Install dependencies
37
- run : uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --only-group lint
36
+ - name : Install dependencies
37
+ run : uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --only-group lint
38
38
39
- - name : Run pre-commit
40
- run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync pre-commit run --all-files --color always --show-diff-on-failure
39
+ - name : Run pre-commit
40
+ run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync pre-commit run --all-files
41
+ --color always --show-diff-on-failure
41
42
42
43
type-checking :
43
44
name : type-checking
44
45
runs-on : ubuntu-latest
45
46
46
47
steps :
47
- - name : Check out the repo
48
- uses : actions/checkout@v4
48
+ - name : Check out the repo
49
+ uses : actions/checkout@v4
49
50
50
- - name : Install uv version ${{ env.UV_VERSION }}
51
- uses : astral-sh/setup-uv@v3
52
- with :
53
- version : ${{ env.UV_VERSION }}
54
- enable-cache : true
51
+ - name : Install uv version ${{ env.UV_VERSION }}
52
+ uses : astral-sh/setup-uv@v6
53
+ with :
54
+ version : ${{ env.UV_VERSION }}
55
+ enable-cache : true
55
56
56
- - name : Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
57
- run : uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
57
+ - name : Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
58
+ run : uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
58
59
59
- - name : Install dependencies
60
- run : uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --no-group test --no-group docs
60
+ - name : Install dependencies
61
+ run : uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --no-group dev --no-group
62
+ docs --no-group test
61
63
62
- - name : Run pyright
63
- run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync pyright
64
+ - name : Run pyright
65
+ run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync pyright
64
66
65
67
tests :
66
68
name : ${{ matrix.session }} ${{ matrix.python }} [${{ matrix.os }}]
@@ -69,114 +71,119 @@ jobs:
69
71
fail-fast : false
70
72
matrix :
71
73
include :
72
- - { python: "3.12" , os: " ubuntu-latest" , session: " tests" }
73
- - { python: "3.11" , os: " ubuntu-latest" , session: " tests" }
74
- - { python: "3.10" , os: " ubuntu-latest" , session: " tests" }
75
- - { python: "3.12" , os: " windows-latest" , session: " tests" }
76
- - { python: "3.11" , os: " windows-latest" , session: " tests" }
77
- - { python: "3.10" , os: " windows-latest" , session: " tests" }
78
- - { python: "3.12" , os: " macos-latest" , session: " tests" }
79
- - { python: "3.11" , os: " macos-latest" , session: " tests" }
80
- - { python: "3.10" , os: " macos-latest" , session: " tests" }
81
- - { python: "3.12" , os: " macos-13" , session: " tests" }
82
- - { python: "3.11" , os: " macos-13" , session: " tests" }
83
- - { python: "3.10" , os: " macos-13" , session: " tests" }
74
+ - {python: '3.13' , os: ubuntu-latest, session: tests}
75
+ - {python: '3.12' , os: ubuntu-latest, session: tests}
76
+ - {python: '3.11' , os: ubuntu-latest, session: tests}
77
+ - {python: '3.13' , os: windows-latest, session: tests}
78
+ - {python: '3.12' , os: windows-latest, session: tests}
79
+ - {python: '3.11' , os: windows-latest, session: tests}
80
+ - {python: '3.13' , os: macos-latest, session: tests}
81
+ - {python: '3.12' , os: macos-latest, session: tests}
82
+ - {python: '3.11' , os: macos-latest, session: tests}
83
+ - {python: '3.13' , os: macos-13, session: tests}
84
+ - {python: '3.12' , os: macos-13, session: tests}
85
+ - {python: '3.11' , os: macos-13, session: tests}
84
86
85
87
steps :
86
- - name : Check out the repo
87
- uses : actions/checkout@v4
88
-
89
- - name : Install uv version ${{ env.UV_VERSION }}
90
- uses : astral-sh/setup-uv@v3
91
- with :
92
- version : ${{ env.UV_VERSION }}
93
- enable-cache : true
94
-
95
- - name : Install python ${{ matrix.python }} using uv
96
- run : uv python install ${{ matrix.python }}
97
-
98
- - name : Install test dependencies
99
- run : uv sync -p ${{ matrix.python }} --frozen --no-group docs --no-group lint
100
-
101
- - name : Run pytest
102
- run : uv run -p ${{ matrix.python }} --no-sync coverage run --parallel-mode -m pytest
103
-
104
- - name : Upload coverage data
105
- uses : actions/upload-artifact@v4
106
- with :
107
- name : coverage-data-${{ matrix.session }}-${{ matrix.os }}-${{ matrix.python }}
108
- include-hidden-files : true
109
- path : " .coverage.*"
88
+ - name : Check out the repo
89
+ uses : actions/checkout@v4
90
+
91
+ - name : Install uv version ${{ env.UV_VERSION }}
92
+ uses : astral-sh/setup-uv@v6
93
+ with :
94
+ version : ${{ env.UV_VERSION }}
95
+ enable-cache : true
96
+
97
+ - name : Install python ${{ matrix.python }} using uv
98
+ run : uv python install ${{ matrix.python }}
99
+
100
+ - name : Install test dependencies
101
+ run : uv sync -p ${{ matrix.python }} --frozen --no-group dev --no-group docs
102
+ --no-group lint
103
+
104
+ - name : Run pytest
105
+ run : uv run -p ${{ matrix.python }} --no-sync coverage run --parallel-mode -m
106
+ pytest
107
+
108
+ - name : Upload coverage data
109
+ uses : actions/upload-artifact@v4
110
+ with :
111
+ name : coverage-data-${{ matrix.session }}-${{ matrix.os }}-${{ matrix.python
112
+ }}
113
+ include-hidden-files : true
114
+ path : .coverage.*
110
115
111
116
docs-build :
112
117
name : docs-build
113
118
runs-on : ubuntu-latest
114
119
115
120
steps :
116
- - name : Check out the repo
117
- uses : actions/checkout@v4
121
+ - name : Check out the repo
122
+ uses : actions/checkout@v4
118
123
119
- - name : Install uv version ${{ env.UV_VERSION }}
120
- uses : astral-sh/setup-uv@v3
121
- with :
122
- version : ${{ env.UV_VERSION }}
123
- enable-cache : true
124
+ - name : Install uv version ${{ env.UV_VERSION }}
125
+ uses : astral-sh/setup-uv@v6
126
+ with :
127
+ version : ${{ env.UV_VERSION }}
128
+ enable-cache : true
124
129
125
- - name : Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
126
- run : uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
130
+ - name : Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
131
+ run : uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
127
132
128
- - name : Install dependencies
129
- run : uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --no-group test --no-group lint
133
+ - name : Install dependencies
134
+ run : uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --no-group dev --no-group
135
+ lint --no-group test
130
136
131
- - name : Install pandoc
132
- uses : pandoc/actions/setup@v1
137
+ - name : Install pandoc
138
+ uses : pandoc/actions/setup@v1
133
139
134
- - name : Build docs
135
- run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync sphinx-build --color docs docs/_build
140
+ - name : Build docs
141
+ run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync sphinx-build --color
142
+ docs docs/_build
136
143
137
- - name : Upload docs
138
- uses : actions/upload-artifact@v4
139
- with :
140
- name : docs
141
- path : docs/_build
144
+ - name : Upload docs
145
+ uses : actions/upload-artifact@v4
146
+ with :
147
+ name : docs
148
+ path : docs/_build
142
149
143
150
coverage :
144
151
name : coverage
145
152
runs-on : ubuntu-latest
146
153
needs : tests
147
154
148
155
steps :
149
- - name : Check out the repo
150
- uses : actions/checkout@v4
156
+ - name : Check out the repo
157
+ uses : actions/checkout@v4
151
158
152
- - name : Install uv version ${{ env.UV_VERSION }}
153
- uses : astral-sh/setup-uv@v3
154
- with :
155
- version : ${{ env.UV_VERSION }}
156
- enable-cache : true
159
+ - name : Install uv version ${{ env.UV_VERSION }}
160
+ uses : astral-sh/setup-uv@v6
161
+ with :
162
+ version : ${{ env.UV_VERSION }}
163
+ enable-cache : true
157
164
158
- - name : Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
159
- run : uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
165
+ - name : Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
166
+ run : uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
160
167
161
- - name : Install dependencies
162
- run : uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --only-group test
168
+ - name : Install dependencies
169
+ run : uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --only-group test
163
170
164
- - name : Download coverage data
165
- uses : actions/download-artifact@v4
166
- with :
167
- pattern : coverage-data-*
168
- merge-multiple : true
171
+ - name : Download coverage data
172
+ uses : actions/download-artifact@v4
173
+ with :
174
+ pattern : coverage-data-*
175
+ merge-multiple : true
169
176
170
- - name : Combine coverage data
171
- run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync coverage combine
177
+ - name : Combine coverage data
178
+ run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync coverage combine
172
179
173
- - name : Display coverage report
174
- run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync coverage report -i
180
+ - name : Display coverage report
181
+ run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync coverage report -i
175
182
176
- - name : Create coverage report
177
- run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync coverage xml -i
183
+ - name : Create coverage report
184
+ run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync coverage xml -i
178
185
179
- - name : Upload coverage report
180
- uses : codecov/codecov-action@v4
181
- with :
182
- token : ${{ secrets.CODECOV_TOKEN }}
186
+ - name : Upload coverage report
187
+ uses : codecov/codecov-action@v5
188
+ with :
189
+ token : ${{ secrets.CODECOV_TOKEN }}
0 commit comments