2929 steps :
3030 - uses : actions/checkout@v4
3131 - name : Setup Python ${{ matrix.python-version }}
32- uses : actions/setup-python@v5
32+ uses : actions/setup-python@v6
3333 with :
3434 python-version : ${{ matrix.python-version }}
35+ - uses : astral-sh/setup-uv@v7
36+ with :
37+ python-version : ${{ matrix.python-version }}
38+ enable-cache : true
3539
3640 - name : Free space
3741 if : runner.os == 'Linux'
@@ -83,20 +87,20 @@ jobs:
8387
8488 - name : Install packages
8589 run : |
86- pip install -e .[test_core]
90+ uv pip install --system -e .[test_core]
8791 shell : bash
8892
8993 - name : Pip list
90- run : pip list
94+ run : uv pip list --system
9195
9296 - name : Test core
9397 run : pytest -m "core"
9498 shell : bash
9599
96100 - name : Install Dependencies for Timing Display
97101 run : |
98- pip install tabulate
99- pip install pandas
102+ uv pip install --system tabulate
103+ uv pip install --system pandas
100104 shell : bash
101105
102106 - name : Get current hash (SHA) of the ephy_testing_data repo
@@ -117,7 +121,7 @@ jobs:
117121 shell : bash
118122 if : env.RUN_EXTRACTORS_TESTS == 'true' || env.RUN_PREPROCESSING_TESTS == 'true'
119123 run : |
120- pip install datalad-installer
124+ uv pip install --system datalad-installer
121125 if [ ${{ runner.os }} = 'Linux' ]; then
122126 datalad-installer --sudo ok git-annex --method datalad/packages
123127 elif [ ${{ runner.os }} = 'macOS' ]; then
@@ -141,78 +145,78 @@ jobs:
141145 HDF5_PLUGIN_PATH : ${{ github.workspace }}/hdf5_plugin_path_maxwell
142146 if : env.RUN_EXTRACTORS_TESTS == 'true'
143147 run : |
144- pip install -e .[extractors,streaming_extractors,test_extractors]
145- pip list
148+ uv pip install --system -e .[extractors,streaming_extractors,test_extractors]
149+ uv pip list --system
146150 ./.github/run_tests.sh "extractors and not streaming_extractors" --no-virtual-env
147151
148152 - name : Test streaming extractors
149153 shell : bash
150154 if : env.RUN_STREAMING_EXTRACTORS_TESTS == 'true'
151155 run : |
152- pip install -e .[streaming_extractors,test_extractors]
153- pip list
156+ uv pip install --system -e .[streaming_extractors,test_extractors]
157+ uv pip list --system
154158 ./.github/run_tests.sh "streaming_extractors" --no-virtual-env
155159
156160 - name : Test preprocessing
157161 shell : bash
158162 if : env.RUN_PREPROCESSING_TESTS == 'true'
159163 run : |
160- pip install -e .[preprocessing,test_preprocessing]
161- pip list
164+ uv pip install --system -e .[preprocessing,test_preprocessing]
165+ uv pip list --system
162166 ./.github/run_tests.sh "preprocessing and not deepinterpolation" --no-virtual-env
163167
164168 - name : Install remaining testing dependencies # TODO: Remove this step once we have better modularization
165169 shell : bash
166170 run : |
167- pip install -e .[test]
168- pip list
171+ uv pip install --system -e .[test]
172+ uv pip list --system
169173
170174 - name : Test postprocessing
171175 shell : bash
172176 if : env.RUN_POSTPROCESSING_TESTS == 'true'
173177 run : |
174- pip install -e .[full]
175- pip list
178+ uv pip install --system -e .[full]
179+ uv pip list --system
176180 ./.github/run_tests.sh postprocessing --no-virtual-env
177181
178182 - name : Test metrics
179183 shell : bash
180184 if : env.RUN_METRICS_TESTS == 'true'
181185 run : |
182- pip install -e .[metrics]
183- pip list
186+ uv pip install --system -e .[metrics]
187+ uv pip list --system
184188 ./.github/run_tests.sh metrics --no-virtual-env
185189
186190 - name : Test comparison
187191 shell : bash
188192 if : env.RUN_COMPARISON_TESTS == 'true'
189193 run : |
190- pip install -e .[full]
191- pip list
194+ uv pip install --system -e .[full]
195+ uv pip list --system
192196 ./.github/run_tests.sh comparison --no-virtual-env
193197
194198 - name : Test core sorters
195199 shell : bash
196200 if : env.RUN_SORTERS_TESTS == 'true'
197201 run : |
198- pip install -e .[full]
199- pip list
202+ uv pip install --system -e .[full]
203+ uv pip list --system
200204 ./.github/run_tests.sh sorters --no-virtual-env
201205
202206 - name : Test internal sorters
203207 shell : bash
204208 if : env.RUN_INTERNAL_SORTERS_TESTS == 'true'
205209 run : |
206- pip install -e .[full]
207- pip list
210+ uv pip install --system -e .[full]
211+ uv pip list --system
208212 ./.github/run_tests.sh sorters_internal --no-virtual-env
209213
210214 - name : Test curation
211215 shell : bash
212216 if : env.RUN_CURATION_TESTS == 'true'
213217 run : |
214- pip install -e .[full]
215- pip list
218+ uv pip install --system -e .[full]
219+ uv pip list --system
216220 ./.github/run_tests.sh curation --no-virtual-env
217221
218222 - name : Test widgets
@@ -221,24 +225,24 @@ jobs:
221225 env :
222226 KACHERY_ZONE : " scratch"
223227 run : |
224- pip install -e .[full,widgets]
225- pip list
228+ uv pip install --system -e .[full,widgets]
229+ uv pip list --system
226230 ./.github/run_tests.sh widgets --no-virtual-env -s
227231
228232 - name : Test exporters
229233 shell : bash
230234 if : env.RUN_EXPORTERS_TESTS == 'true'
231235 run : |
232- pip install -e .[full]
233- pip list
236+ uv pip install --system -e .[full]
237+ uv pip list --system
234238 ./.github/run_tests.sh exporters --no-virtual-env
235239
236240 - name : Test sortingcomponents
237241 shell : bash
238242 if : env.RUN_SORTINGCOMPONENTS_TESTS == 'true'
239243 run : |
240- pip install -e .[full]
241- pip list
244+ uv pip install --system -e .[full]
245+ uv pip list --system
242246
243247 # Internal shell check for platform and env var
244248 if [[ "$RUNNER_OS" == "macOS" ]]; then
@@ -258,6 +262,6 @@ jobs:
258262 shell : bash
259263 if : env.RUN_GENERATION_TESTS == 'true'
260264 run : |
261- pip install -e .[full]
262- pip list
265+ uv pip install --system -e .[full]
266+ uv pip list --system
263267 ./.github/run_tests.sh generation --no-virtual-env
0 commit comments