@@ -3,13 +3,13 @@ name: CI
33on :
44 push :
55 branches :
6- - master
6+ - master
77 pull_request :
88 types : [opened, reopened, synchronize]
99
1010env :
11- UV_VERSION : " 0.4.28 "
12- DEFAULT_PYTHON_VERSION : " 3.12 "
11+ UV_VERSION : 0.6.17
12+ DEFAULT_PYTHON_VERSION : ' 3.13 '
1313
1414concurrency :
1515 group : ${{ github.workflow }}-${{ github.ref }}
@@ -21,46 +21,48 @@ jobs:
2121 runs-on : ubuntu-latest
2222
2323 steps :
24- - name : Check out the repo
25- uses : actions/checkout@v4
24+ - name : Check out the repo
25+ uses : actions/checkout@v4
2626
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
3232
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 }}
3535
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
3838
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
4142
4243 type-checking :
4344 name : type-checking
4445 runs-on : ubuntu-latest
4546
4647 steps :
47- - name : Check out the repo
48- uses : actions/checkout@v4
48+ - name : Check out the repo
49+ uses : actions/checkout@v4
4950
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
5556
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 }}
5859
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
62+ --no-group docs --no-group test
6163
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
6466
6567 tests :
6668 name : ${{ matrix.session }} ${{ matrix.python }} [${{ matrix.os }}]
@@ -69,114 +71,117 @@ jobs:
6971 fail-fast : false
7072 matrix :
7173 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}
8486
8587 steps :
86- - name : Check out the repo
87- uses : actions/checkout@v4
88+ - name : Check out the repo
89+ uses : actions/checkout@v4
8890
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
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
9496
95- - name : Install python ${{ matrix.python }} using uv
96- run : uv python install ${{ matrix.python }}
97+ - name : Install python ${{ matrix.python }} using uv
98+ run : uv python install ${{ matrix.python }}
9799
98- - name : Install test dependencies
99- run : uv sync -p ${{ matrix.python }} --frozen --no-group docs --no-group lint
100+ - name : Install test dependencies
101+ run : uv sync -p ${{ matrix.python }} --frozen --no-group dev --no-group docs
102+ --no-group lint
100103
101- - name : Run pytest
102- run : uv run -p ${{ matrix.python }} --no-sync coverage run --parallel-mode -m pytest
104+ - name : Run pytest
105+ run : uv run -p ${{ matrix.python }} --no-sync coverage run --parallel-mode -m pytest
103106
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.*"
107+ - name : Upload coverage data
108+ uses : actions/upload-artifact@v4
109+ with :
110+ name : coverage-data-${{ matrix.session }}-${{ matrix.os }}-${{ matrix.python }}
111+ include-hidden-files : true
112+ path : " .coverage.*"
110113
111114 docs-build :
112115 name : docs-build
113116 runs-on : ubuntu-latest
114117
115118 steps :
116- - name : Check out the repo
117- uses : actions/checkout@v4
119+ - name : Check out the repo
120+ uses : actions/checkout@v4
118121
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
122+ - name : Install uv version ${{ env.UV_VERSION }}
123+ uses : astral-sh/setup-uv@v6
124+ with :
125+ version : ${{ env.UV_VERSION }}
126+ enable-cache : true
124127
125- - name : Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
126- run : uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
128+ - name : Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
129+ run : uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
127130
128- - name : Install dependencies
129- run : uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --no-group test --no-group lint
131+ - name : Install dependencies
132+ run : uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --no-group dev
133+ --no-group lint --no-group test
130134
131- - name : Install pandoc
132- uses : pandoc/actions/setup@v1
135+ - name : Install pandoc
136+ uses : pandoc/actions/setup@v1
133137
134- - name : Build docs
135- run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync sphinx-build --color docs docs/_build
138+ - name : Build docs
139+ run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync sphinx-build --color
140+ docs docs/_build
136141
137- - name : Upload docs
138- uses : actions/upload-artifact@v4
139- with :
140- name : docs
141- path : docs/_build
142+ - name : Upload docs
143+ uses : actions/upload-artifact@v4
144+ with :
145+ name : docs
146+ path : docs/_build
142147
143148 coverage :
144149 name : coverage
145150 runs-on : ubuntu-latest
146151 needs : tests
147152
148153 steps :
149- - name : Check out the repo
150- uses : actions/checkout@v4
154+ - name : Check out the repo
155+ uses : actions/checkout@v4
151156
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
157+ - name : Install uv version ${{ env.UV_VERSION }}
158+ uses : astral-sh/setup-uv@v6
159+ with :
160+ version : ${{ env.UV_VERSION }}
161+ enable-cache : true
157162
158- - name : Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
159- run : uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
163+ - name : Install python ${{ env.DEFAULT_PYTHON_VERSION }} using uv
164+ run : uv python install ${{ env.DEFAULT_PYTHON_VERSION }}
160165
161- - name : Install dependencies
162- run : uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --only-group test
166+ - name : Install dependencies
167+ run : uv sync -p ${{ env.DEFAULT_PYTHON_VERSION }} --frozen --only-group test
163168
164- - name : Download coverage data
165- uses : actions/download-artifact@v4
166- with :
167- pattern : coverage-data-*
168- merge-multiple : true
169+ - name : Download coverage data
170+ uses : actions/download-artifact@v4
171+ with :
172+ pattern : coverage-data-*
173+ merge-multiple : true
169174
170- - name : Combine coverage data
171- run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync coverage combine
175+ - name : Combine coverage data
176+ run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync coverage combine
172177
173- - name : Display coverage report
174- run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync coverage report -i
178+ - name : Display coverage report
179+ run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync coverage report -i
175180
176- - name : Create coverage report
177- run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync coverage xml -i
181+ - name : Create coverage report
182+ run : uv run -p ${{ env.DEFAULT_PYTHON_VERSION }} --no-sync coverage xml -i
178183
179- - name : Upload coverage report
180- uses : codecov/codecov-action@v4
181- with :
182- token : ${{ secrets.CODECOV_TOKEN }}
184+ - name : Upload coverage report
185+ uses : codecov/codecov-action@v5
186+ with :
187+ token : ${{ secrets.CODECOV_TOKEN }}
0 commit comments