-
Notifications
You must be signed in to change notification settings - Fork 25
Description
Description
The wheels-publish workflow is responsible for a pretty narrow purpose... downloading wheel artifacts built in CI and publishing them to package repositories (like https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/).
It really only needs a Python interpreter and a couple tools like twine, the anaconda CLI, and the gh CLI.
Today, it uses the rapidsai/ci-wheel container images (build from rapidsai/ci-imgs), which are around 4.5 GB compressed (https://hub.docker.com/r/rapidsai/ci-wheel/tags).
The time to run that workflow is dominated by container-image pulling. For example, look at a recent wheels-publish-cudf job (build link):
This issue tracks the work of designing and implementing changes to speed that up. Maybe some mix of:
- using a slimmer container image (or just
ubuntu-latest/ubuntu-slimrunners without a container) - removing telemetry
- using a shallow
gitcheckout
Benefits of this work
- reduced end-to-end time for RAPIDS nightly pipeline (https://github.com/rapidsai/workflows/actions/workflows/nightly-pipeline.yaml)
- reduced time to roll out a change across all of RAPIDS (related: Rebuild the world button build-planning#238)
- reduced usage of CI resources
Acceptance Criteria
wheels-publishworkflows are faster than they were on February 17, 2026
Ideas
Just dumping some ideas here, this is not an implementation plan:
- use
ubuntu-latest/ubuntu-slimGitHub-hosted runners - use a smaller container image (like
python:latestorpython:3.13-slim) - create a new
rapidsai/ci-wheel-publishingor similar image- publishing a new image does bring new legal / compliance requirements though, this might be a lot of effort
- fiddle with the
rapidsai/ci-wheelimage- different compression?
- fewer layers?
- removing unused things?
- use shallow
gitcheckouts - remove telemetry (this workflow doesn't benefit much from it)
Notes
N/A