Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ci/build_cpp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ mkdir -p "${RAPIDS_ARTIFACTS_DIR}"
export RAPIDS_ARTIFACTS_DIR

# populates `RATTLER_CHANNELS` array and `RATTLER_ARGS` array
source ./ci/use_conda_packages_from_prs.sh
source rapids-rattler-channel-string

# --no-build-id allows for caching with `sccache`
Expand Down
3 changes: 3 additions & 0 deletions ci/build_go.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,13 @@ rapids-logger "Create test conda environment"
rapids-logger "Configuring conda strict channel priority"
conda config --set channel_priority strict

source ./ci/use_conda_packages_from_prs.sh
rapids-dependency-file-generator \
--output conda \
--file-key go \
--matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION}" \
--prepend-channel "${LIBRAFT_CHANNEL}" \
--prepend-channel "${RAFT_CHANNEL}" \
--prepend-channel "${CPP_CHANNEL}" \
| tee env.yaml

Expand Down
3 changes: 3 additions & 0 deletions ci/build_java.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,12 @@ rapids-logger "Generate Java testing dependencies"

ENV_YAML_DIR="$(mktemp -d)"

source ./ci/use_conda_packages_from_prs.sh
rapids-dependency-file-generator \
--output conda \
--file-key java \
--prepend-channel "${LIBRAFT_CHANNEL}" \
--prepend-channel "${RAFT_CHANNEL}" \
--prepend-channel "${CPP_CHANNEL}" \
--matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch)" | tee "${ENV_YAML_DIR}/env.yaml"

Expand Down
1 change: 1 addition & 0 deletions ci/build_python.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ export RAPIDS_PACKAGE_VERSION=${version}
echo "${version}" > VERSION

# populates `RATTLER_CHANNELS` array and `RATTLER_ARGS` array
source ./ci/use_conda_packages_from_prs.sh
source rapids-rattler-channel-string

rapids-logger "Prepending channel ${CPP_CHANNEL} to RATTLER_CHANNELS"
Expand Down
3 changes: 3 additions & 0 deletions ci/build_rust.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,13 @@ rapids-logger "Create test conda environment"
rapids-logger "Configuring conda strict channel priority"
conda config --set channel_priority strict

source ./ci/use_conda_packages_from_prs.sh
rapids-dependency-file-generator \
--output conda \
--file-key rust \
--matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION}" \
--prepend-channel "${LIBRAFT_CHANNEL}" \
--prepend-channel "${RAFT_CHANNEL}" \
--prepend-channel "${CPP_CHANNEL}" \
| tee env.yaml

Expand Down
2 changes: 2 additions & 0 deletions ci/build_wheel_cuvs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen "${RAPIDS_CUDA_VERSION}")"
#
# env variable 'PIP_CONSTRAINT' is set up by rapids-init-pip. It constrains all subsequent
# 'pip install', 'pip download', etc. calls (except those used in 'pip wheel', handled separately in build scripts)
source ./ci/use_wheels_from_prs.sh

LIBCUVS_WHEELHOUSE=$(rapids-download-from-github "$(rapids-artifact-name wheel_cpp libcuvs cuvs --cuda "$RAPIDS_CUDA_VERSION")")
echo "libcuvs-${RAPIDS_PY_CUDA_SUFFIX} @ file://$(echo "${LIBCUVS_WHEELHOUSE}"/libcuvs_*.whl)" >> "${PIP_CONSTRAINT}"

Expand Down
2 changes: 2 additions & 0 deletions ci/build_wheel_libcuvs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ rapids-dependency-file-generator \
--matrix "${matrix_selectors}" \
| tee /tmp/requirements-build.txt

source ./ci/use_wheels_from_prs.sh

rapids-logger "Installing build requirements"
rapids-pip-retry install \
-v \
Expand Down
3 changes: 3 additions & 0 deletions ci/test_cpp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,14 @@ conda config --set channel_priority strict

CPP_CHANNEL=$(rapids-download-from-github "$(rapids-artifact-name conda_cpp libcuvs cuvs --cuda "$RAPIDS_CUDA_VERSION")")

source ./ci/use_conda_packages_from_prs.sh
rapids-logger "Generate C++ testing dependencies"
rapids-dependency-file-generator \
--output conda \
--file-key test_cpp \
--matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch)" \
--prepend-channel "${LIBRAFT_CHANNEL}" \
--prepend-channel "${RAFT_CHANNEL}" \
--prepend-channel "${CPP_CHANNEL}" \
| tee env.yaml

Expand Down
3 changes: 3 additions & 0 deletions ci/test_python.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,14 @@ rapids-logger "Downloading artifacts from previous jobs"
CPP_CHANNEL=$(rapids-download-from-github "$(rapids-artifact-name conda_cpp libcuvs cuvs --cuda "$RAPIDS_CUDA_VERSION")")
PYTHON_CHANNEL=$(rapids-download-from-github "$(rapids-artifact-name conda_python cuvs cuvs --stable --cuda "$RAPIDS_CUDA_VERSION")")

source ./ci/use_conda_packages_from_prs.sh
rapids-logger "Generate Python testing dependencies"
rapids-dependency-file-generator \
--output conda \
--file-key test_python \
--matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION}" \
--prepend-channel "${LIBRAFT_CHANNEL}" \
--prepend-channel "${RAFT_CHANNEL}" \
--prepend-channel "${CPP_CHANNEL}" \
--prepend-channel "${PYTHON_CHANNEL}" \
| tee env.yaml
Expand Down
2 changes: 2 additions & 0 deletions ci/test_wheel_cuvs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ source rapids-init-pip
# Delete system libnccl.so to ensure the wheel is used
rm -rf /usr/lib64/libnccl*

source ./ci/use_wheels_from_prs.sh

LIBCUVS_WHEELHOUSE=$(rapids-download-from-github "$(rapids-artifact-name wheel_cpp libcuvs cuvs --cuda "$RAPIDS_CUDA_VERSION")")
CUVS_WHEELHOUSE=$(rapids-download-from-github "$(rapids-artifact-name wheel_python cuvs cuvs --stable --cuda "$RAPIDS_CUDA_VERSION")")

Expand Down
30 changes: 30 additions & 0 deletions ci/use_conda_packages_from_prs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION.
# SPDX-License-Identifier: Apache-2.0

# download CI artifacts
LIBRAFT_CHANNEL=$(rapids-get-pr-artifact raft 3052 cpp conda)
RAFT_CHANNEL=$(rapids-get-pr-artifact raft 3052 python conda)

# For `rattler` builds:
#
# Add these channels to the array checked by 'rapids-rattler-channel-string'.
# This ensures that when conda packages are built with strict channel priority enabled,
# the locally-downloaded packages will be preferred to remote packages (e.g. nightlies).
#
RAPIDS_PREPENDED_CONDA_CHANNELS=(
"${LIBRAFT_CHANNEL}"
"${RAFT_CHANNEL}"
)
export RAPIDS_PREPENDED_CONDA_CHANNELS

# For tests and `conda-build` builds:
#
# Add these channels to the system-wide conda configuration.
# This results in PREPENDING them to conda's channel list, so
# these packages should be found first if strict channel priority is enabled.
#
for _channel in "${RAPIDS_PREPENDED_CONDA_CHANNELS[@]}"
do
conda config --system --add channels "${_channel}"
done
Comment thread
divyegala marked this conversation as resolved.
18 changes: 18 additions & 0 deletions ci/use_wheels_from_prs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION.
# SPDX-License-Identifier: Apache-2.0

# initialize PIP_CONSTRAINT
source rapids-init-pip
Comment thread
divyegala marked this conversation as resolved.

RAPIDS_PY_CUDA_SUFFIX=$(rapids-wheel-ctk-name-gen "${RAPIDS_CUDA_VERSION}")
Comment thread
divyegala marked this conversation as resolved.

# download wheels, store the directories holding them in variables
LIBRAFT_WHEELHOUSE=$(rapids-get-pr-artifact raft 3052 cpp wheel)
PYLIBRAFT_WHEELHOUSE=$(rapids-get-pr-artifact raft 3052 python wheel --pkg_name pylibraft)

# write a pip constraints file saying e.g. "whenever you encounter a requirement for 'librmm-cu12', use this wheel"
cat > "${PIP_CONSTRAINT}" <<EOF
libraft-${RAPIDS_PY_CUDA_SUFFIX} @ file://$(echo "${LIBRAFT_WHEELHOUSE}"/libraft_*.whl)
raft-${RAPIDS_PY_CUDA_SUFFIX} @ file://$(echo "${PYLIBRAFT_WHEELHOUSE}"/pylibraft_*.whl)
EOF
Comment thread
divyegala marked this conversation as resolved.
Loading