Skip to content

Add uv check#950

Merged
jan-janssen merged 1 commit intomainfrom
uv_check
Mar 18, 2026
Merged

Add uv check#950
jan-janssen merged 1 commit intomainfrom
uv_check

Conversation

@jan-janssen
Copy link
Member

@jan-janssen jan-janssen commented Mar 18, 2026

Summary by CodeRabbit

  • Chores
    • Enhanced CI/CD pipeline with additional dependency validation checks to ensure project integrity.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 18, 2026

📝 Walkthrough

Walkthrough

A new uv_check job is added to the CI/CD pipeline that validates project dependencies using UV and pip check. The uml job's dependencies are updated to depend on this new validation step.

Changes

Cohort / File(s) Summary
GitHub Actions Workflow Configuration
.github/workflows/pipeline.yml
Introduces a new uv_check job that installs the project and validates dependencies using uv sync and pip check. Updates uml job to depend on the new uv_check job.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 A rabbit hops through workflows new,
Where UV checks what pip should do,
Dependencies sync with utmost care,
No broken chains shall lurk in there! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Add uv check' directly describes the main change—adding a new uv_check job to the CI pipeline. It is concise and clearly reflects the primary modification in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch uv_check
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

You can customize the high-level summary generated by CodeRabbit.

Configure the reviews.high_level_summary_instructions setting to provide custom instructions for generating the high-level summary.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/pipeline.yml:
- Around line 107-111: The workflow runs "uv sync --all-extras --dev" to prepare
the uv-managed environment but then calls "pip check" against the system
interpreter; change the step so dependency validation runs inside the uv
environment by invoking pip through uv (e.g., use "uv run" to execute "pip
check" after "uv sync") ensuring the "uv sync" and "pip check" sequence remains
but the validation runs inside the uv-managed environment.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e134a8fa-7b7a-4a7f-8865-b3243e84d0bd

📥 Commits

Reviewing files that changed from the base of the PR and between b09b30d and 134d892.

📒 Files selected for processing (1)
  • .github/workflows/pipeline.yml

Comment on lines +107 to +111
- name: Install the project and pip check
shell: bash -l {0}
run: |
uv sync --all-extras --dev
pip check
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

cat -n .github/workflows/pipeline.yml | sed -n '105,115p'

Repository: pyiron/executorlib

Length of output: 418


🌐 Web query:

uv pip check command documentation

💡 Result:

The uv pip check command verifies the current Python environment for conflicts or missing dependencies in installed packages. It is part of uv's pip-compatible interface and can be used as a faster drop-in replacement for pip check. Usage: uv pip check Description (from official docs): It is possible to install packages with conflicting requirements into an environment if installed in multiple steps. To check for conflicts or missing dependencies in the environment: $ uv pip check What it checks for (from uv maintainer and compatibility docs): - Multiple versions of a package are installed in the virtual environment. - A package has a dependency on a package that's installed, but at an incompatible version. - A package has a dependency on a package that isn't installed. - A package has a Requires-Python that doesn't match the Python version of the running interpreter. - A package has no METADATA file, or the METADATA file can't be parsed. Differences from pip check: - uv pip check detects additional issues like multiple installed versions of the same package and Requires-Python mismatches, which pip check may not. - It exits with non-zero code if issues are found, suitable for CI scripting. - Internally similar to uv pip install --strict, but checks the entire environment without filtering unrelated diagnostics. No specific options like --verbose or others are documented for this command in the sources; it appears to be a simple, flag-less command like its pip counterpart. For full CLI reference, see https://docs.astral.sh/uv/reference/cli/ (links to uv pip check). Example output if issues found: Checked 81 packages in 0.71ms Found 1 incompatibility The package pip has multiple installed distributions: - /path/to/pip-23.0.1.dist-info - /path/to/pip-24.0.dist-info If no issues: No output or "No broken requirements found." (inferred from pip similarity), exits 0.

Citations:


🏁 Script executed:

# Check if there are other uses of pip check in the repository
rg "pip check" --type yaml

Repository: pyiron/executorlib

Length of output: 44


Run dependency validation through uv-managed environment, not system pip.

uv sync prepares the project environment, but Line 111 calls pip check directly. This executes against the system Python, not the uv-managed virtual environment, causing dependency issues to be missed.

🔧 Proposed fix
     - name: Install the project and pip check
       shell: bash -l {0}
       run: |
         uv sync --all-extras --dev
-        pip check
+        uv pip check
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/pipeline.yml around lines 107 - 111, The workflow runs "uv
sync --all-extras --dev" to prepare the uv-managed environment but then calls
"pip check" against the system interpreter; change the step so dependency
validation runs inside the uv environment by invoking pip through uv (e.g., use
"uv run" to execute "pip check" after "uv sync") ensuring the "uv sync" and "pip
check" sequence remains but the validation runs inside the uv-managed
environment.

@codecov
Copy link

codecov bot commented Mar 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.13%. Comparing base (b09b30d) to head (134d892).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #950      +/-   ##
==========================================
+ Coverage   94.08%   94.13%   +0.04%     
==========================================
  Files          39       39              
  Lines        2080     2080              
==========================================
+ Hits         1957     1958       +1     
+ Misses        123      122       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jan-janssen jan-janssen merged commit 4c14658 into main Mar 18, 2026
36 checks passed
@jan-janssen jan-janssen deleted the uv_check branch March 18, 2026 13:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant