Repository navigation
Reduce duplicate CI package image downloads - #103
Conversation
Run native wheel qualification on vetted pushes alongside GPU checks. Share one pinned image between separate installation and runtime containers, with bounded retries for image pulls only. Signed-off-by: Trent Nelson <trentn@nvidia.com>
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one): 1
Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
melo-gonzo
left a comment
There was a problem hiding this comment.
LGTM. This reduces duplicate image pulls while preserving package coverage and the required CI checks. Local release tests and CI status/retry checks passed. The two remaining CI failures are registry quota errors before tests start; a successful rerun is still needed.
Summary
Registry throttling has been failing installed-wheel/runtime checks before tests start. A PR revision currently pulls the same Python images in 12 separate jobs on both the PR event and its vetted push.
Run native wheel qualification once on the vetted push, alongside GPU checks. Ordinary PRs retain lint, CPU, and conda checks;
ci-requiredstill requires the complete native wheel matrix and GPU checks to succeed. Release builds retain full qualification.Combine installed-wheel and runtime checks into six Python/architecture jobs. Each job pulls its existing pinned image once and runs the checks in separate fresh containers, reducing normal Python-image downloads from 24 to six per PR revision. Pulls have three bounded attempts; installation and test failures remain final. Python 3.12–3.14, both architectures, and existing Dragon coverage are preserved.
Using an authenticated shared cache remains a follow-up requiring CPU runner access. This change reduces traffic and handles transient pull failures; persistent registry quotas can still block CI.
Validation
make ci-lint: passed.uv run --locked --extra dev pytest -q tests/test_release.py: 47 passed.concurrency.queuekey.Repository hygiene