Skip to content

rapidsai/ci-imgs

ci-imgs

This repository includes the following CI images for RAPIDS:

Tagging Strategy

Images built from the main branch in CI are double-published with the following tags:

:{rapids_version}-cuda{cuda_version}-{operating_system}-py{python_version}
:cuda{cuda_version}-{operating_system}-py{python_version}

Images built from other branches (including release branches), pull requests, or locally only receive the versioned tag (with {rapids_version}-).

One particular combination is also chosen for latest tags like these:

:{rapids_version}-latest
:latest

For example, during the 25.10 release the following might all point to the same image:

rapidsai/ci-conda:25.10-cuda13.1.0-ubuntu24.04-py3.13
rapidsai/ci-conda:cuda13.1.0-ubuntu24.04-py3.13
rapidsai/ci-conda:25.10-latest
rapidsai/ci-conda:latest

But starting with the 25.12 release...

# these images are unchanged
rapidsai/ci-conda:25.10-cuda13.1.0-ubuntu24.04-py3.13
rapidsai/ci-conda:25.10-latest

# these now point to 25.12
rapidsai/ci-conda:cuda13.1.0-ubuntu24.04-py3.13
rapidsai/ci-conda:latest

RAPIDS projects and others tightly coupled to RAPIDS releases should use the images prefixed with {rapids_version}-.

Other projects that aren't as tightly coupled to RAPIDS may want to use those without {rapids_version}-, to automatically pull in bug fixes, new features, etc. without needing to manually update tags as frequently as RAPIDS releases.

latest tag

The latest image tags are controlled by the values in latest.yaml.

Building the images locally

To build the images locally, you may use the following snippets.

These scripts require the gha-tools project. If you don't have it installed, you may install it like this:

git clone https://github.com/rapidsai/gha-tools.git /tmp/gha-tools
export PATH="/tmp/gha-tools/tools:${PATH}"

The ci-conda and ci-wheel images require a GitHub token to download sccache releases. If you have the gh CLI installed and authenticated, you can use gh auth token to get your token:

export LINUX_VER=rockylinux8
export CUDA_VER=13.1.0
export PYTHON_VER=3.13
export ARCH=amd64
export GH_TOKEN=$(gh auth token)
export IMAGE_REPO=ci-conda
docker build $(ci/compute-build-args.sh) --secret id=GH_TOKEN -f ci-conda.Dockerfile context/
export IMAGE_REPO=ci-wheel
docker build $(ci/compute-build-args.sh) --secret id=GH_TOKEN -f ci-wheel.Dockerfile context/
export IMAGE_REPO=citestwheel
docker build $(ci/compute-build-args.sh) -f citestwheel.Dockerfile context/

Cleaning Up

Every build first writes images to the https://hub.docker.com/r/rapidsai/staging repo on DockerHub, then pushes them on to the individual repos like rapidsai/base, rapidsai/notebooks, etc.

A scheduled job regularly deletes old images from that rapidsai/staging repo. See https://github.com/rapidsai/workflows/blob/main/.github/workflows/cleanup_staging.yaml for details.

If you come back to a pull request here after more than a few days and find that jobs are failing with errors that suggest that some necessary images don't exist, re-run all of CI on that pull request to produce new images.