-
Notifications
You must be signed in to change notification settings - Fork 462
[WIP] Switch lib-lint-and-test workflow to uv #4932
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR migrates the CI/CD workflow from tox to uv for library linting and testing, aiming to streamline dependency management and improve build performance.
Key Changes:
- Replaced tox-based testing with uv for dependency management and test execution
- Updated Python version support to require Python 3.10+ (from 3.8+)
- Removed setuptools version constraint and reorganized dependency specifications
Reviewed Changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 3 comments.
File | Description |
---|---|
library/pyproject.toml | Updated dependency constraints, added uv configuration with extra conflicts, changed minimum Python target to 3.10 |
.github/workflows/lib-lint-and-test.yaml | Replaced tox with uv for all CI jobs, simplified test execution, added Codecov action for coverage uploads |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
run: tox r -vv -e unit-test-${{ matrix.tox-env }} | ||
version: "0.8.15" | ||
|
||
- name: Installing dependencies |
Copilot
AI
Oct 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The --no-extra xpu
flag excludes the xpu extra, but according to the pyproject.toml conflicts configuration, xpu and cuda extras conflict with each other. Consider documenting why xpu is explicitly excluded or verify that the conflicts configuration handles this correctly.
- name: Installing dependencies | |
- name: Installing dependencies | |
# Exclude the 'xpu' extra because 'xpu' and 'cuda' extras conflict in pyproject.toml. | |
# This ensures that only 'cuda' dependencies are installed for this test matrix. |
Copilot uses AI. Check for mistakes.
run: uv sync --locked --all-extras --no-extra xpu --dev | ||
|
||
- name: Unit testing | ||
run: uv run pytest tests/unit --cov --cov-report=xml |
Copilot
AI
Oct 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The pytest command is missing the working directory specification. The command should include working-directory: library
or use an explicit path like library/tests/unit
to ensure tests run from the correct location.
run: uv run pytest tests/unit --cov --cov-report=xml | |
run: uv run pytest tests/unit --cov --cov-report=xml | |
working-directory: library |
Copilot uses AI. Check for mistakes.
run: uv sync --locked --all-extras --no-extra xpu --dev | ||
|
||
- name: Integration testing | ||
run: uv run pytest tests/integration/${{ matrix.task }} --cov --cov-report=xml |
Copilot
AI
Oct 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The pytest command is missing the working directory specification. The command should include working-directory: library
or use an explicit path like library/tests/integration/${{ matrix.task }}
to ensure tests run from the correct location.
run: uv run pytest tests/integration/${{ matrix.task }} --cov --cov-report=xml | |
run: uv run pytest tests/integration/${{ matrix.task }} --cov --cov-report=xml | |
working-directory: library |
Copilot uses AI. Check for mistakes.
Docker Image Sizes
|
📊 Test coverage report
|
Switching lib-lint-and-test.yaml workflow to uv from tox