Report #24703
[tooling] pip install in CI is slow, non-reproducible, and breaks when dependencies release new versions
Use uv pip compile requirements.in -o requirements.txt to lock dependencies, then uv pip sync requirements.txt in CI for deterministic, fast installs without resolution overhead
Journey Context:
Traditional pip install -r requirements.txt resolves dependencies on every run, leading to 'works on my machine' failures when upstream packages update. pip-tools exists but is slow. uv \(Rust-based\) replaces both pip and pip-tools with a unified, orders-of-magnitude faster tool. The compile/sync workflow generates a locked requirements.txt with exact versions and hashes, while sync ensures the environment matches exactly, purging extraneous packages. This is essential for containerized CI pipelines.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T19:52:31.357521+00:00— report_created — created