ci: use EPEL-packaged uv instead of pip-bootstrapped uv#290
Conversation
Switch CI containers from CentOS Stream 9 to CentOS Stream 10 with EPEL, replacing `pip install uv` with `dnf install uv` to use the Red Hat-supported package with security fixes rather than the upstream PyPI version. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Ensures lock file consistency is verified when requirements-*.txt files are modified directly, not only when pyproject.toml changes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
is there any way to close this gap? |
@yuvalk Option A — Option B —
Claude Recommendation: leave the Containerfiles as-is. Beside that, the builder stage is ephemeral — uv installs dependencies, then the stage is thrown away. The uv binary never reaches the production image. The production image only contains the verified site-packages copied from the builder. WDYT? |
I would then probably go with leaving it as is on this PR (at least for now) |
Summary
pip install uvwithdnf install uvacross all four CI jobs (lock-file-check, vulnerability-scan, lint, test)uv tool install pip-auditfor isolated CLI tool installation in vulnerability scan jobWhy CentOS Stream 10?
uv is not available in CentOS Stream 9 (not even in EPEL 9). CentOS Stream 10 + EPEL provides uv 0.11.15. This also aligns the CI environment with the production runtime (Containerfiles already use UBI 10).
What doesn't change
pyproject.toml/ lock files — uv stays in dev deps as a fallback for developers without system-level uvuv pip install --system,--python python3.12,python3.12 -m pytest/ruff/mypy) work unchanged since CentOS Stream 10 ships Python 3.12 as the defaultpython3🤖 Generated with Claude Code