Skip to content

Conversation

ivanzati
Copy link
Contributor

Switching lib-lint-and-test.yaml workflow to uv from tox

  • The PR title and description are clear and descriptive
  • I have manually tested the changes
  • All changes are covered by automated tests
  • All related issues are linked to this PR (if applicable)
  • Documentation has been updated (if applicable)

@Copilot Copilot AI review requested due to automatic review settings October 20, 2025 16:20
@github-actions github-actions bot added DEPENDENCY Any changes in any dependencies (new dep or its version) should be produced via Change Request on PM BUILD labels Oct 20, 2025
Copy link
Contributor

@Copilot Copilot AI left a 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
Copy link

Copilot AI Oct 20, 2025

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.

Suggested change
- 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
Copy link

Copilot AI Oct 20, 2025

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.

Suggested change
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
Copy link

Copilot AI Oct 20, 2025

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.

Suggested change
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.

Copy link

Docker Image Sizes

Image Size
geti-tune-pr-4932 1.5G
geti-tune-sha-662775f 1.5G

Copy link

📊 Test coverage report

Metric Coverage
Lines 38.4%
Functions 35.4%
Branches 84.2%
Statements 38.4%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

BUILD DEPENDENCY Any changes in any dependencies (new dep or its version) should be produced via Change Request on PM

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant