MAINT: Use uv for installation in the CI.#174
MAINT: Use uv for installation in the CI.#174arokem wants to merge 2 commits intotractometry:mainfrom
Conversation
This should speed things up quite a bit.
There was a problem hiding this comment.
Pull request overview
Updates the GitHub Actions test workflow to use uv for dependency installation to improve CI speed.
Changes:
- Add
astral-sh/setup-uv@v7to installuvin CI. - Replace
pip install .[all]withuv pip install .[all].
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| run: | | ||
| python -m pip install --upgrade pip | ||
| pip install .[all] | ||
| uv pip install .[all] |
There was a problem hiding this comment.
uv pip install generally refuses to install into a non-virtualenv interpreter unless --system is provided (or a venv is created/activated). As written, this CI step is likely to fail on GitHub runners; either add uv pip install --system .[all] or create/activate a venv (e.g., via uv venv) before installing.
| uv pip install .[all] | |
| uv pip install --system .[all] |
| run: | | ||
| python -m pip install --upgrade pip | ||
| pip install .[all] | ||
| uv pip install .[all] | ||
| - name: Nibabel pre-release installation |
There was a problem hiding this comment.
This workflow now installs the main dependencies with uv, but still uses pip for the nibabel pre-release step and python -m pip check. Mixing installers can lead to inconsistent dependency resolution and may reduce the performance benefit; consider using uv pip install (and uv pip check, if desired) for the later steps as well, or explicitly document why pip is required there.
|
Looks like numba dependencies will not install easily with uv, so I will back off this for now. |
This should speed things up quite a bit.