Skip to content

Stable Install Path Testing - Phase 1 #227

Description

@gforsyth

In #226 @csadorf proposed a new workflow in rapidsai/integration for stable install path testing for RAPIDS.

For an initial phase, we want to create a workflow that tests that an automated
installation of RAPIDS works as per the documented commands that we advertise to
users.

I propose that as a first step, we implement the following:

Test that we can install and import all of the RAPIDS packages

Using the install commands from the install selector tool at https://docs.rapids.ai/install/ with the following variants:

  • For pip with the pypi.nvidia.com index included:
    • Across all supported Python versions (3.10 - 3.13 as of writing)
    • Across supported CUDA versions (12 and 13 as of writing)
    • On x8664 and arm64
  • For pip with only the default PyPI index included:
    • Across all supported Python versions (3.10 - 3.13 as of writing)
    • Across supported CUDA versions (12 and 13 as of writing)
    • On x8664 and arm64
    • Installing cudf, dask-cudf, cuml, pylibraft, raft-dask (these are the packages that have wheels on PyPI)
  • For conda
    • Across all supported Python versions (3.10 - 3.13 as of writing)
    • Across supported CUDA versions (12 and 13 as of writing)
    • On x8664 and arm64

Test Environments

  • Use nvidia/cuda for the pip tests above:

    • For CUDA12 and CUDA13 ubuntu images:
      • Install curl and then uv
      • Create per-Python venv with e.g. uv venv --python=3.10 --seed
      • Activate venv and run install commands
      • Test that packages import without error (import each package in a separate Python session to flag up any symbol loading errors)

    This might be fast enough to just do in a single container, installing each Python version in succession.

  • Use rapidsai/miniforge-cuda for the conda tests above (there shouldn’t be any configuration changes needed)

Workflows

  • We can use custom-job shared workflow for node-selection and point it to the image required for pip vs. conda testing

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions