From 9abd8ba15f3f5935e3d8a6e60a29d7e68d56863c Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 15 May 2026 11:42:58 -0500 Subject: [PATCH 01/16] Use RAPIDS_BRANCH for RAPIDS CI clones --- .github/workflows/build-all-rapids-repos.yml | 2 +- RAPIDS_BRANCH | 1 + ci/release/update-version.sh | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 RAPIDS_BRANCH diff --git a/.github/workflows/build-all-rapids-repos.yml b/.github/workflows/build-all-rapids-repos.yml index 5bd11378..1ecec745 100644 --- a/.github/workflows/build-all-rapids-repos.yml +++ b/.github/workflows/build-all-rapids-repos.yml @@ -103,7 +103,7 @@ jobs: # Clone all the repos run_command "Clone RAPIDS repositories" \ - clone-all -j$(nproc) -v -q --clone-upstream --depth 1 --single-branch --shallow-submodules --no-update-env; + clone-all -j$(nproc) -v -q --branch "$(< RAPIDS_BRANCH)" --clone-upstream --depth 1 --single-branch --shallow-submodules --no-update-env; run_command "Create RAPIDS python environment" \ rapids-post-start-command; diff --git a/RAPIDS_BRANCH b/RAPIDS_BRANCH new file mode 100644 index 00000000..5a399d5c --- /dev/null +++ b/RAPIDS_BRANCH @@ -0,0 +1 @@ +release/26.06 diff --git a/ci/release/update-version.sh b/ci/release/update-version.sh index 2525781d..2fb85f8c 100755 --- a/ci/release/update-version.sh +++ b/ci/release/update-version.sh @@ -81,13 +81,16 @@ NEXT_FULL_TAG_PEP440=$(python -c "from packaging.version import Version; print(V # Log update context if [[ "${RUN_CONTEXT}" == "main" ]]; then + RAPIDS_BRANCH_NAME="main" echo "Preparing development branch update $CURRENT_TAG => $NEXT_FULL_TAG (targeting main branch)" elif [[ "${RUN_CONTEXT}" == "release" ]]; then + RAPIDS_BRANCH_NAME="release/${NEXT_SHORT_TAG}" echo "Preparing release branch update $CURRENT_TAG => $NEXT_FULL_TAG (targeting release/${NEXT_SHORT_TAG} branch)" fi # Centralized version file update echo "${NEXT_FULL_TAG}" > VERSION +echo "${RAPIDS_BRANCH_NAME}" > RAPIDS_BRANCH # Inplace sed replace; workaround for Linux and Mac function sed_runner() { From c7bb91a5d4031bdd961094bc3e5aeccdfb6edc52 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 15 May 2026 12:04:13 -0500 Subject: [PATCH 02/16] Map RAPIDS branch to UCXX branch in CI --- .github/workflows/build-all-rapids-repos.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/build-all-rapids-repos.yml b/.github/workflows/build-all-rapids-repos.yml index 1ecec745..dbf37260 100644 --- a/.github/workflows/build-all-rapids-repos.yml +++ b/.github/workflows/build-all-rapids-repos.yml @@ -101,10 +101,24 @@ jobs: return "$exit_code" } + function rapids_to_ucxx_branch() { + local rapids_branch="$1" + + if [[ "${rapids_branch}" =~ ^release/[0-9]{2}\.[0-9]{2}$ ]]; then + local rapids_version="${rapids_branch#release/}" + echo "release/$(curl -sL "https://version.gpuci.io/rapids/${rapids_version}")" + else + echo "${rapids_branch}" + fi + } + # Clone all the repos run_command "Clone RAPIDS repositories" \ clone-all -j$(nproc) -v -q --branch "$(< RAPIDS_BRANCH)" --clone-upstream --depth 1 --single-branch --shallow-submodules --no-update-env; + run_command "Clone UCXX repository" \ + clone-ucxx -j$(nproc) -v -q --branch "$(rapids_to_ucxx_branch "$(< RAPIDS_BRANCH)")" --clone-upstream --depth 1 --single-branch --shallow-submodules --no-update-env; + run_command "Create RAPIDS python environment" \ rapids-post-start-command; From ffce2a54e6e2b26af2693733ac8f67cebeb5e7a1 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 15 May 2026 12:09:43 -0500 Subject: [PATCH 03/16] Map UCXX branch in clone-all --- .github/workflows/build-all-rapids-repos.yml | 14 ------------- .../bin/tmpl/all.clone.tmpl.sh | 21 +++++++++++++++++-- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-all-rapids-repos.yml b/.github/workflows/build-all-rapids-repos.yml index dbf37260..1ecec745 100644 --- a/.github/workflows/build-all-rapids-repos.yml +++ b/.github/workflows/build-all-rapids-repos.yml @@ -101,24 +101,10 @@ jobs: return "$exit_code" } - function rapids_to_ucxx_branch() { - local rapids_branch="$1" - - if [[ "${rapids_branch}" =~ ^release/[0-9]{2}\.[0-9]{2}$ ]]; then - local rapids_version="${rapids_branch#release/}" - echo "release/$(curl -sL "https://version.gpuci.io/rapids/${rapids_version}")" - else - echo "${rapids_branch}" - fi - } - # Clone all the repos run_command "Clone RAPIDS repositories" \ clone-all -j$(nproc) -v -q --branch "$(< RAPIDS_BRANCH)" --clone-upstream --depth 1 --single-branch --shallow-submodules --no-update-env; - run_command "Clone UCXX repository" \ - clone-ucxx -j$(nproc) -v -q --branch "$(rapids_to_ucxx_branch "$(< RAPIDS_BRANCH)")" --clone-upstream --depth 1 --single-branch --shallow-submodules --no-update-env; - run_command "Create RAPIDS python environment" \ rapids-post-start-command; diff --git a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh index b04da277..cb11c58f 100755 --- a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh +++ b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh @@ -11,6 +11,7 @@ # (default: false) # # Options that require values: +# -b,--branch Check the repos out to . # -j,--parallel Clone repos in parallel. # (default: 1) @@ -21,7 +22,7 @@ clone_all() { local -; set -euo pipefail; - eval "$(_parse_args --take '-j,--parallel -v,--verbose --no-update-env' "$@" <&0)"; + eval "$(_parse_args --take '-b,--branch -j,--parallel -v,--verbose --no-update-env' "$@" <&0)"; eval "$(rapids-get-num-archs-jobs-and-load --archs 1 --max-device-obj-memory-usage 1 "$@")"; @@ -36,7 +37,23 @@ clone_all() { echo ${NAMES} \ | tr '[:space:]' '\0' \ | xargs ${v:+-t} ${_o} -r -0 -P${n_jobs} -I% bash -c \ - " if command -V clone-% >/dev/null 2>&1; then if ! clone-% -j ${n_arch} --no-update-env ${OPTS[*]@Q} ${v[*]@Q}; then exit 255; fi; fi"; + ' + repo="$1"; + branch="$2"; + n_arch="$3"; + shift 3; + branch_args=(); + if test -n "${branch:+x}"; then + if [[ "${repo}" == "ucxx" && "${branch}" =~ ^release/[0-9]{2}\.[0-9]{2}$ ]]; then + rapids_version="${branch#release/}"; + branch="release/$(curl -sL "https://version.gpuci.io/rapids/${rapids_version}")"; + fi; + branch_args=(--branch "${branch}"); + fi; + if command -V "clone-${repo}" >/dev/null 2>&1; then + if ! "clone-${repo}" -j "${n_arch}" --no-update-env "${branch_args[@]}" "$@"; then exit 255; fi; + fi + ' _ % "${branch[0]:-}" "${n_arch}" ${OPTS[*]@Q} ${v[*]@Q}; if ! test -n "${no_update_env:+x}"; then rapids-post-start-command; From 42c012f0db268263eb57799f0d7164de117c224f Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 15 May 2026 12:35:41 -0500 Subject: [PATCH 04/16] rapids-checkout-same-branch only for ucxx --- .../rapids-build-utils/bin/checkout-same-branch.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh index cee54558..022edf1c 100755 --- a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh +++ b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh @@ -17,13 +17,13 @@ # shellcheck disable=SC1091 . rapids-generate-docstring; -# Function to convert ucx branch names -convert-ucx-branch() { +# Function to convert ucxx branch names +convert-ucxx-branch() { repo=$1 custom_branch=$2 normalized_branch="${custom_branch}" - if [[ "${repo}" == "ucx"* ]]; then + if [[ "${repo}" == "ucxx" ]]; then # Only convert branches that match the pattern release/YY.MM if [[ "${custom_branch}" =~ ^release/[0-9]{2}\.[0-9]{2}$ ]]; then RAPIDS_VERSION=$(echo "${custom_branch}" | awk '{split($0, a, "/"); print a[2]}') @@ -68,7 +68,7 @@ checkout_same_branch() { local path="${!repo_path}"; # Skip ucxx repositories when determining common branches - if [[ "${name}" == "ucx"* ]]; then + if [[ "${name}" == "ucxx" ]]; then continue; fi @@ -156,9 +156,9 @@ checkout_same_branch() { # Apply normalization for ucxx repositories local repo_name_val="${!repo_name}"; local normalized_branch; - normalized_branch=$(convert-ucx-branch "${repo_name_val}" "${branch}"); + normalized_branch=$(convert-ucxx-branch "${repo_name_val}" "${branch}"); - if [[ "${repo_name_val}" == "ucx"* ]]; then + if [[ "${repo_name_val}" == "ucxx" ]]; then echo "Using normalized branch '${normalized_branch}' for repository '${repo_name_val}'"; branch="${normalized_branch}"; fi From 8cff00e1f515e6e0eb08350d6df0ec70a4c1d62e Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 15 May 2026 12:48:19 -0500 Subject: [PATCH 05/16] Share UCXX branch conversion helper --- features/src/rapids-build-utils/install.sh | 3 ++- .../bin/checkout-same-branch.sh | 23 ++----------------- .../bin/convert-ucxx-branch.sh | 19 +++++++++++++++ .../bin/tmpl/all.clone.tmpl.sh | 5 ++-- 4 files changed, 25 insertions(+), 25 deletions(-) create mode 100644 features/src/rapids-build-utils/opt/rapids-build-utils/bin/convert-ucxx-branch.sh diff --git a/features/src/rapids-build-utils/install.sh b/features/src/rapids-build-utils/install.sh index 78f34900..0c2688c4 100644 --- a/features/src/rapids-build-utils/install.sh +++ b/features/src/rapids-build-utils/install.sh @@ -56,7 +56,7 @@ cp -ar ./opt/rapids-build-utils /opt/; declare -a commands=( checkout-same-branch - maybe-clean-build-dir + convert-ucxx-branch generate-docstring generate-scripts get-cmake-build-dir @@ -68,6 +68,7 @@ declare -a commands=( make-pip-env make-vscode-workspace merge-compile-commands-json + maybe-clean-build-dir post-attach-command post-start-command pull-repositories diff --git a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh index 022edf1c..5473940a 100755 --- a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh +++ b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh @@ -17,25 +17,6 @@ # shellcheck disable=SC1091 . rapids-generate-docstring; -# Function to convert ucxx branch names -convert-ucxx-branch() { - repo=$1 - custom_branch=$2 - normalized_branch="${custom_branch}" - - if [[ "${repo}" == "ucxx" ]]; then - # Only convert branches that match the pattern release/YY.MM - if [[ "${custom_branch}" =~ ^release/[0-9]{2}\.[0-9]{2}$ ]]; then - RAPIDS_VERSION=$(echo "${custom_branch}" | awk '{split($0, a, "/"); print a[2]}') - # Get UCX version associated w/ RAPIDS version - UCX_VERSION="$(curl -sL https://version.gpuci.io/rapids/${RAPIDS_VERSION})" - normalized_branch="release/${UCX_VERSION}" - fi - fi - - echo "${normalized_branch}" -} - checkout_same_branch() { local -; set -euo pipefail; @@ -155,10 +136,10 @@ checkout_same_branch() { # Apply normalization for ucxx repositories local repo_name_val="${!repo_name}"; - local normalized_branch; - normalized_branch=$(convert-ucxx-branch "${repo_name_val}" "${branch}"); if [[ "${repo_name_val}" == "ucxx" ]]; then + local normalized_branch; + normalized_branch=$(rapids-convert-ucxx-branch "${branch}"); echo "Using normalized branch '${normalized_branch}' for repository '${repo_name_val}'"; branch="${normalized_branch}"; fi diff --git a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/convert-ucxx-branch.sh b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/convert-ucxx-branch.sh new file mode 100644 index 00000000..551e0e43 --- /dev/null +++ b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/convert-ucxx-branch.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +# Usage: +# rapids-convert-ucxx-branch +# +# Convert a RAPIDS branch name to the corresponding UCXX branch name. + +convert_ucxx_branch() { + local branch="${1:?fatal: missing required positional argument }" + + if [[ "${branch}" =~ ^release/[0-9]{2}\.[0-9]{2}$ ]]; then + local rapids_version="${branch#release/}" + branch="release/$(curl -sL "https://version.gpuci.io/rapids/${rapids_version}")" + fi + + echo "${branch}" +} + +convert_ucxx_branch "$@" <&0 diff --git a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh index cb11c58f..f84146e4 100755 --- a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh +++ b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh @@ -44,9 +44,8 @@ clone_all() { shift 3; branch_args=(); if test -n "${branch:+x}"; then - if [[ "${repo}" == "ucxx" && "${branch}" =~ ^release/[0-9]{2}\.[0-9]{2}$ ]]; then - rapids_version="${branch#release/}"; - branch="release/$(curl -sL "https://version.gpuci.io/rapids/${rapids_version}")"; + if [[ "${repo}" == "ucxx" ]]; then + branch="$(rapids-convert-ucxx-branch "${branch}")"; fi; branch_args=(--branch "${branch}"); fi; From fec207c47f62a7a1a1adcdf9163042ced0000d09 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 15 May 2026 13:15:40 -0500 Subject: [PATCH 06/16] Make UCXX branch helper executable --- .../opt/rapids-build-utils/bin/convert-ucxx-branch.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 features/src/rapids-build-utils/opt/rapids-build-utils/bin/convert-ucxx-branch.sh diff --git a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/convert-ucxx-branch.sh b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/convert-ucxx-branch.sh old mode 100644 new mode 100755 From 7aeda08d9106ee93076174c9b72de3d64bc11dc0 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 15 May 2026 13:32:26 -0500 Subject: [PATCH 07/16] Forward clone-all options as arguments --- .../opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh index f84146e4..1635f133 100755 --- a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh +++ b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh @@ -52,7 +52,7 @@ clone_all() { if command -V "clone-${repo}" >/dev/null 2>&1; then if ! "clone-${repo}" -j "${n_arch}" --no-update-env "${branch_args[@]}" "$@"; then exit 255; fi; fi - ' _ % "${branch[0]:-}" "${n_arch}" ${OPTS[*]@Q} ${v[*]@Q}; + ' _ % "${branch[0]:-}" "${n_arch}" "${OPTS[@]}" "${v[@]}"; if ! test -n "${no_update_env:+x}"; then rapids-post-start-command; From 26f4b7874b39bc28b24072866e99d403c9144c6d Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 18 May 2026 10:31:28 -0700 Subject: [PATCH 08/16] Revert "Forward clone-all options as arguments" This reverts commit 7aeda08d9106ee93076174c9b72de3d64bc11dc0. --- .../opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh index 1635f133..f84146e4 100755 --- a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh +++ b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh @@ -52,7 +52,7 @@ clone_all() { if command -V "clone-${repo}" >/dev/null 2>&1; then if ! "clone-${repo}" -j "${n_arch}" --no-update-env "${branch_args[@]}" "$@"; then exit 255; fi; fi - ' _ % "${branch[0]:-}" "${n_arch}" "${OPTS[@]}" "${v[@]}"; + ' _ % "${branch[0]:-}" "${n_arch}" ${OPTS[*]@Q} ${v[*]@Q}; if ! test -n "${no_update_env:+x}"; then rapids-post-start-command; From 77aff9156d98d97bd2665c7f70ed6eff88f1eae1 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 18 May 2026 10:31:31 -0700 Subject: [PATCH 09/16] Revert "Make UCXX branch helper executable" This reverts commit fec207c47f62a7a1a1adcdf9163042ced0000d09. --- .../opt/rapids-build-utils/bin/convert-ucxx-branch.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 features/src/rapids-build-utils/opt/rapids-build-utils/bin/convert-ucxx-branch.sh diff --git a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/convert-ucxx-branch.sh b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/convert-ucxx-branch.sh old mode 100755 new mode 100644 From 5b55075b33f3688003eb1664744d5b28a5f41b14 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 18 May 2026 10:31:33 -0700 Subject: [PATCH 10/16] Revert "Share UCXX branch conversion helper" This reverts commit 8cff00e1f515e6e0eb08350d6df0ec70a4c1d62e. --- features/src/rapids-build-utils/install.sh | 3 +-- .../bin/checkout-same-branch.sh | 23 +++++++++++++++++-- .../bin/convert-ucxx-branch.sh | 19 --------------- .../bin/tmpl/all.clone.tmpl.sh | 5 ++-- 4 files changed, 25 insertions(+), 25 deletions(-) delete mode 100644 features/src/rapids-build-utils/opt/rapids-build-utils/bin/convert-ucxx-branch.sh diff --git a/features/src/rapids-build-utils/install.sh b/features/src/rapids-build-utils/install.sh index 0c2688c4..78f34900 100644 --- a/features/src/rapids-build-utils/install.sh +++ b/features/src/rapids-build-utils/install.sh @@ -56,7 +56,7 @@ cp -ar ./opt/rapids-build-utils /opt/; declare -a commands=( checkout-same-branch - convert-ucxx-branch + maybe-clean-build-dir generate-docstring generate-scripts get-cmake-build-dir @@ -68,7 +68,6 @@ declare -a commands=( make-pip-env make-vscode-workspace merge-compile-commands-json - maybe-clean-build-dir post-attach-command post-start-command pull-repositories diff --git a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh index 5473940a..022edf1c 100755 --- a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh +++ b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh @@ -17,6 +17,25 @@ # shellcheck disable=SC1091 . rapids-generate-docstring; +# Function to convert ucxx branch names +convert-ucxx-branch() { + repo=$1 + custom_branch=$2 + normalized_branch="${custom_branch}" + + if [[ "${repo}" == "ucxx" ]]; then + # Only convert branches that match the pattern release/YY.MM + if [[ "${custom_branch}" =~ ^release/[0-9]{2}\.[0-9]{2}$ ]]; then + RAPIDS_VERSION=$(echo "${custom_branch}" | awk '{split($0, a, "/"); print a[2]}') + # Get UCX version associated w/ RAPIDS version + UCX_VERSION="$(curl -sL https://version.gpuci.io/rapids/${RAPIDS_VERSION})" + normalized_branch="release/${UCX_VERSION}" + fi + fi + + echo "${normalized_branch}" +} + checkout_same_branch() { local -; set -euo pipefail; @@ -136,10 +155,10 @@ checkout_same_branch() { # Apply normalization for ucxx repositories local repo_name_val="${!repo_name}"; + local normalized_branch; + normalized_branch=$(convert-ucxx-branch "${repo_name_val}" "${branch}"); if [[ "${repo_name_val}" == "ucxx" ]]; then - local normalized_branch; - normalized_branch=$(rapids-convert-ucxx-branch "${branch}"); echo "Using normalized branch '${normalized_branch}' for repository '${repo_name_val}'"; branch="${normalized_branch}"; fi diff --git a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/convert-ucxx-branch.sh b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/convert-ucxx-branch.sh deleted file mode 100644 index 551e0e43..00000000 --- a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/convert-ucxx-branch.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -# Usage: -# rapids-convert-ucxx-branch -# -# Convert a RAPIDS branch name to the corresponding UCXX branch name. - -convert_ucxx_branch() { - local branch="${1:?fatal: missing required positional argument }" - - if [[ "${branch}" =~ ^release/[0-9]{2}\.[0-9]{2}$ ]]; then - local rapids_version="${branch#release/}" - branch="release/$(curl -sL "https://version.gpuci.io/rapids/${rapids_version}")" - fi - - echo "${branch}" -} - -convert_ucxx_branch "$@" <&0 diff --git a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh index f84146e4..cb11c58f 100755 --- a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh +++ b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh @@ -44,8 +44,9 @@ clone_all() { shift 3; branch_args=(); if test -n "${branch:+x}"; then - if [[ "${repo}" == "ucxx" ]]; then - branch="$(rapids-convert-ucxx-branch "${branch}")"; + if [[ "${repo}" == "ucxx" && "${branch}" =~ ^release/[0-9]{2}\.[0-9]{2}$ ]]; then + rapids_version="${branch#release/}"; + branch="release/$(curl -sL "https://version.gpuci.io/rapids/${rapids_version}")"; fi; branch_args=(--branch "${branch}"); fi; From 71b7f1c5ee67f8aadeb3119a75b557a5c8e14395 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 18 May 2026 10:31:35 -0700 Subject: [PATCH 11/16] Revert "rapids-checkout-same-branch only for ucxx" This reverts commit 42c012f0db268263eb57799f0d7164de117c224f. --- .../rapids-build-utils/bin/checkout-same-branch.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh index 022edf1c..cee54558 100755 --- a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh +++ b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh @@ -17,13 +17,13 @@ # shellcheck disable=SC1091 . rapids-generate-docstring; -# Function to convert ucxx branch names -convert-ucxx-branch() { +# Function to convert ucx branch names +convert-ucx-branch() { repo=$1 custom_branch=$2 normalized_branch="${custom_branch}" - if [[ "${repo}" == "ucxx" ]]; then + if [[ "${repo}" == "ucx"* ]]; then # Only convert branches that match the pattern release/YY.MM if [[ "${custom_branch}" =~ ^release/[0-9]{2}\.[0-9]{2}$ ]]; then RAPIDS_VERSION=$(echo "${custom_branch}" | awk '{split($0, a, "/"); print a[2]}') @@ -68,7 +68,7 @@ checkout_same_branch() { local path="${!repo_path}"; # Skip ucxx repositories when determining common branches - if [[ "${name}" == "ucxx" ]]; then + if [[ "${name}" == "ucx"* ]]; then continue; fi @@ -156,9 +156,9 @@ checkout_same_branch() { # Apply normalization for ucxx repositories local repo_name_val="${!repo_name}"; local normalized_branch; - normalized_branch=$(convert-ucxx-branch "${repo_name_val}" "${branch}"); + normalized_branch=$(convert-ucx-branch "${repo_name_val}" "${branch}"); - if [[ "${repo_name_val}" == "ucxx" ]]; then + if [[ "${repo_name_val}" == "ucx"* ]]; then echo "Using normalized branch '${normalized_branch}' for repository '${repo_name_val}'"; branch="${normalized_branch}"; fi From ba2fffbf6ff9e3e6d416d279f5dac29f52308595 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 18 May 2026 10:31:40 -0700 Subject: [PATCH 12/16] Revert "Map UCXX branch in clone-all" This reverts commit ffce2a54e6e2b26af2693733ac8f67cebeb5e7a1. --- .github/workflows/build-all-rapids-repos.yml | 14 +++++++++++++ .../bin/tmpl/all.clone.tmpl.sh | 21 ++----------------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build-all-rapids-repos.yml b/.github/workflows/build-all-rapids-repos.yml index 1ecec745..dbf37260 100644 --- a/.github/workflows/build-all-rapids-repos.yml +++ b/.github/workflows/build-all-rapids-repos.yml @@ -101,10 +101,24 @@ jobs: return "$exit_code" } + function rapids_to_ucxx_branch() { + local rapids_branch="$1" + + if [[ "${rapids_branch}" =~ ^release/[0-9]{2}\.[0-9]{2}$ ]]; then + local rapids_version="${rapids_branch#release/}" + echo "release/$(curl -sL "https://version.gpuci.io/rapids/${rapids_version}")" + else + echo "${rapids_branch}" + fi + } + # Clone all the repos run_command "Clone RAPIDS repositories" \ clone-all -j$(nproc) -v -q --branch "$(< RAPIDS_BRANCH)" --clone-upstream --depth 1 --single-branch --shallow-submodules --no-update-env; + run_command "Clone UCXX repository" \ + clone-ucxx -j$(nproc) -v -q --branch "$(rapids_to_ucxx_branch "$(< RAPIDS_BRANCH)")" --clone-upstream --depth 1 --single-branch --shallow-submodules --no-update-env; + run_command "Create RAPIDS python environment" \ rapids-post-start-command; diff --git a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh index cb11c58f..b04da277 100755 --- a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh +++ b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/tmpl/all.clone.tmpl.sh @@ -11,7 +11,6 @@ # (default: false) # # Options that require values: -# -b,--branch Check the repos out to . # -j,--parallel Clone repos in parallel. # (default: 1) @@ -22,7 +21,7 @@ clone_all() { local -; set -euo pipefail; - eval "$(_parse_args --take '-b,--branch -j,--parallel -v,--verbose --no-update-env' "$@" <&0)"; + eval "$(_parse_args --take '-j,--parallel -v,--verbose --no-update-env' "$@" <&0)"; eval "$(rapids-get-num-archs-jobs-and-load --archs 1 --max-device-obj-memory-usage 1 "$@")"; @@ -37,23 +36,7 @@ clone_all() { echo ${NAMES} \ | tr '[:space:]' '\0' \ | xargs ${v:+-t} ${_o} -r -0 -P${n_jobs} -I% bash -c \ - ' - repo="$1"; - branch="$2"; - n_arch="$3"; - shift 3; - branch_args=(); - if test -n "${branch:+x}"; then - if [[ "${repo}" == "ucxx" && "${branch}" =~ ^release/[0-9]{2}\.[0-9]{2}$ ]]; then - rapids_version="${branch#release/}"; - branch="release/$(curl -sL "https://version.gpuci.io/rapids/${rapids_version}")"; - fi; - branch_args=(--branch "${branch}"); - fi; - if command -V "clone-${repo}" >/dev/null 2>&1; then - if ! "clone-${repo}" -j "${n_arch}" --no-update-env "${branch_args[@]}" "$@"; then exit 255; fi; - fi - ' _ % "${branch[0]:-}" "${n_arch}" ${OPTS[*]@Q} ${v[*]@Q}; + " if command -V clone-% >/dev/null 2>&1; then if ! clone-% -j ${n_arch} --no-update-env ${OPTS[*]@Q} ${v[*]@Q}; then exit 255; fi; fi"; if ! test -n "${no_update_env:+x}"; then rapids-post-start-command; From baaa1f22d612ed3d35a04a8fda499dc0bff89d71 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 18 May 2026 10:31:41 -0700 Subject: [PATCH 13/16] Revert "Map RAPIDS branch to UCXX branch in CI" This reverts commit c7bb91a5d4031bdd961094bc3e5aeccdfb6edc52. --- .github/workflows/build-all-rapids-repos.yml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/.github/workflows/build-all-rapids-repos.yml b/.github/workflows/build-all-rapids-repos.yml index dbf37260..1ecec745 100644 --- a/.github/workflows/build-all-rapids-repos.yml +++ b/.github/workflows/build-all-rapids-repos.yml @@ -101,24 +101,10 @@ jobs: return "$exit_code" } - function rapids_to_ucxx_branch() { - local rapids_branch="$1" - - if [[ "${rapids_branch}" =~ ^release/[0-9]{2}\.[0-9]{2}$ ]]; then - local rapids_version="${rapids_branch#release/}" - echo "release/$(curl -sL "https://version.gpuci.io/rapids/${rapids_version}")" - else - echo "${rapids_branch}" - fi - } - # Clone all the repos run_command "Clone RAPIDS repositories" \ clone-all -j$(nproc) -v -q --branch "$(< RAPIDS_BRANCH)" --clone-upstream --depth 1 --single-branch --shallow-submodules --no-update-env; - run_command "Clone UCXX repository" \ - clone-ucxx -j$(nproc) -v -q --branch "$(rapids_to_ucxx_branch "$(< RAPIDS_BRANCH)")" --clone-upstream --depth 1 --single-branch --shallow-submodules --no-update-env; - run_command "Create RAPIDS python environment" \ rapids-post-start-command; From c56a61b59c20e9ef95cbcc04049082724efedf27 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 18 May 2026 10:31:43 -0700 Subject: [PATCH 14/16] Revert "Use RAPIDS_BRANCH for RAPIDS CI clones" This reverts commit 9abd8ba15f3f5935e3d8a6e60a29d7e68d56863c. --- .github/workflows/build-all-rapids-repos.yml | 2 +- RAPIDS_BRANCH | 1 - ci/release/update-version.sh | 3 --- 3 files changed, 1 insertion(+), 5 deletions(-) delete mode 100644 RAPIDS_BRANCH diff --git a/.github/workflows/build-all-rapids-repos.yml b/.github/workflows/build-all-rapids-repos.yml index 1ecec745..5bd11378 100644 --- a/.github/workflows/build-all-rapids-repos.yml +++ b/.github/workflows/build-all-rapids-repos.yml @@ -103,7 +103,7 @@ jobs: # Clone all the repos run_command "Clone RAPIDS repositories" \ - clone-all -j$(nproc) -v -q --branch "$(< RAPIDS_BRANCH)" --clone-upstream --depth 1 --single-branch --shallow-submodules --no-update-env; + clone-all -j$(nproc) -v -q --clone-upstream --depth 1 --single-branch --shallow-submodules --no-update-env; run_command "Create RAPIDS python environment" \ rapids-post-start-command; diff --git a/RAPIDS_BRANCH b/RAPIDS_BRANCH deleted file mode 100644 index 5a399d5c..00000000 --- a/RAPIDS_BRANCH +++ /dev/null @@ -1 +0,0 @@ -release/26.06 diff --git a/ci/release/update-version.sh b/ci/release/update-version.sh index 2fb85f8c..2525781d 100755 --- a/ci/release/update-version.sh +++ b/ci/release/update-version.sh @@ -81,16 +81,13 @@ NEXT_FULL_TAG_PEP440=$(python -c "from packaging.version import Version; print(V # Log update context if [[ "${RUN_CONTEXT}" == "main" ]]; then - RAPIDS_BRANCH_NAME="main" echo "Preparing development branch update $CURRENT_TAG => $NEXT_FULL_TAG (targeting main branch)" elif [[ "${RUN_CONTEXT}" == "release" ]]; then - RAPIDS_BRANCH_NAME="release/${NEXT_SHORT_TAG}" echo "Preparing release branch update $CURRENT_TAG => $NEXT_FULL_TAG (targeting release/${NEXT_SHORT_TAG} branch)" fi # Centralized version file update echo "${NEXT_FULL_TAG}" > VERSION -echo "${RAPIDS_BRANCH_NAME}" > RAPIDS_BRANCH # Inplace sed replace; workaround for Linux and Mac function sed_runner() { From 67dad355c846394401175424af0f51a4c1af511e Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 18 May 2026 10:57:38 -0700 Subject: [PATCH 15/16] update manifest.yaml branch names in update-version.sh, pin to release/26.06 in manifest.yaml --- ci/release/update-version.sh | 11 +- .../devcontainer-feature.json | 2 +- .../opt/rapids-build-utils/manifest.yaml | 634 +++++++++--------- 3 files changed, 319 insertions(+), 328 deletions(-) diff --git a/ci/release/update-version.sh b/ci/release/update-version.sh index 2525781d..5f325b39 100755 --- a/ci/release/update-version.sh +++ b/ci/release/update-version.sh @@ -76,13 +76,17 @@ NEXT_SHORT_TAG=${NEXT_MAJOR}.${NEXT_MINOR} NEXT_FULL_TAG=${NEXT_MAJOR}.${NEXT_MINOR}.${NEXT_PATCH} # Need to distutils-normalize the versions for some use cases -NEXT_SHORT_TAG_PEP440=$(python -c "from packaging.version import Version; print(Version('${NEXT_SHORT_TAG}'))") -NEXT_FULL_TAG_PEP440=$(python -c "from packaging.version import Version; print(Version('${NEXT_FULL_TAG}'))") +NEXT_SHORT_TAG_PEP440=$(python3 -c "from packaging.version import Version; print(Version('${NEXT_SHORT_TAG}'))") +NEXT_FULL_TAG_PEP440=$(python3 -c "from packaging.version import Version; print(Version('${NEXT_FULL_TAG}'))") # Log update context if [[ "${RUN_CONTEXT}" == "main" ]]; then + RAPIDS_BRANCH_NAME="main" + UCXX_BRANCH_NAME="main" echo "Preparing development branch update $CURRENT_TAG => $NEXT_FULL_TAG (targeting main branch)" elif [[ "${RUN_CONTEXT}" == "release" ]]; then + RAPIDS_BRANCH_NAME="release/${NEXT_SHORT_TAG}" + UCXX_BRANCH_NAME="release/$(curl -sL "https://version.gpuci.io/rapids/${NEXT_SHORT_TAG}")" echo "Preparing release branch update $CURRENT_TAG => $NEXT_FULL_TAG (targeting release/${NEXT_SHORT_TAG} branch)" fi @@ -106,3 +110,6 @@ for file in $(find features -name devcontainer-feature.json); do tmp=$(mktemp) jq --arg ver "$NEXT_FULL_TAG_PEP440" '.version = $ver' "$file" > "$tmp" && mv "$tmp" "$file" done + +yq -i --yaml-fix-merge-anchor-to-spec ".x-git-defaults.tag = \"$RAPIDS_BRANCH_NAME\"" features/src/rapids-build-utils/opt/rapids-build-utils/manifest.yaml +yq -i --yaml-fix-merge-anchor-to-spec "(.repos[] | select(.name == \"ucxx\") | .git.tag) = \"$UCXX_BRANCH_NAME\"" features/src/rapids-build-utils/opt/rapids-build-utils/manifest.yaml diff --git a/features/src/rapids-build-utils/devcontainer-feature.json b/features/src/rapids-build-utils/devcontainer-feature.json index 40575ae5..0bc3cc4b 100644 --- a/features/src/rapids-build-utils/devcontainer-feature.json +++ b/features/src/rapids-build-utils/devcontainer-feature.json @@ -1,7 +1,7 @@ { "name": "NVIDIA RAPIDS devcontainer build utilities", "id": "rapids-build-utils", - "version": "26.6.0", + "version": "26.6.1", "description": "A feature to install the RAPIDS devcontainer build utilities", "containerEnv": { "BASH_ENV": "/etc/bash.bash_env" diff --git a/features/src/rapids-build-utils/opt/rapids-build-utils/manifest.yaml b/features/src/rapids-build-utils/opt/rapids-build-utils/manifest.yaml index 0cb5073e..b0edd85d 100755 --- a/features/src/rapids-build-utils/opt/rapids-build-utils/manifest.yaml +++ b/features/src/rapids-build-utils/opt/rapids-build-utils/manifest.yaml @@ -1,331 +1,315 @@ x-git-defaults: &git_defaults - host: github - tag: main - upstream: rapidsai - + host: github + tag: release/26.06 + upstream: rapidsai x-rapids-build-backend-args: &rapids_build_backend_args | --config-settings "skbuild.strict-config=false" --config-settings "rapidsai.disable-cuda=true" --config-settings "rapidsai.matrix-entry=cuda=${CUDA_VERSION_MAJOR_MINOR}" - repos: - -- name: rmm - path: rmm - git: {<<: *git_defaults, repo: rmm} - cpp: - - name: rmm - sub_dir: cpp - test: ci/run_ctests.sh - python: - - name: librmm - sub_dir: python/librmm - depends: [rmm] - args: {install: *rapids_build_backend_args} - - name: rmm - sub_dir: python/rmm - depends: [rmm] - args: {install: *rapids_build_backend_args} - test: ci/run_pytests.sh - -- name: ucxx - path: ucxx - git: {<<: *git_defaults, repo: ucxx, tag: main} - cpp: - - name: ucxx - sub_dir: cpp - depends: [rmm] - args: {cmake: -DUCXX_ENABLE_RMM=ON} - test: ci/run_cpp.sh - - name: ucxx-python - sub_dir: cpp/python - depends: [ucxx] - args: {cmake: -DFIND_UCXX_CPP=ON} - python: - - name: libucxx - sub_dir: python/libucxx - args: {cmake: -DFIND_UCXX_PYTHON=ON, install: *rapids_build_backend_args} - depends: [ucxx, ucxx-python] - - name: ucxx - sub_dir: python/ucxx - depends: [ucxx, ucxx-python] - args: {cmake: -DFIND_UCXX_PYTHON=ON, install: *rapids_build_backend_args} - test: ci/run_python.sh - - name: distributed-ucxx - sub_dir: python/distributed-ucxx - depends: [ucxx, ucxx-python] - args: {install: *rapids_build_backend_args} - test: ci/run_python_distributed.sh - -- name: dask-cuda - path: dask-cuda - git: {<<: *git_defaults, repo: dask-cuda} - python: - - name: dask-cuda - test: ci/run_pytest.sh - -- name: kvikio - path: kvikio - git: {<<: *git_defaults, repo: kvikio} - cpp: - - name: kvikio - sub_dir: cpp - test: ci/run_ctests.sh - python: - - name: libkvikio - sub_dir: python/libkvikio - depends: [kvikio] - args: {install: *rapids_build_backend_args} - - name: kvikio - sub_dir: python/kvikio - depends: [kvikio] - args: {install: *rapids_build_backend_args} - test: ci/run_pytests.sh - -- name: cudf - path: cudf - git: {<<: *git_defaults, repo: cudf} - cpp: - - name: cudf - sub_dir: cpp - depends: [rmm, kvikio] - test: ci/run_cudf_ctests.sh - - name: cudf_kafka - sub_dir: cpp/libcudf_kafka - depends: [cudf] - test: ci/run_cudf_kafka_ctests.sh - python: - - name: libcudf - sub_dir: python/libcudf - depends: [cudf] - args: {install: *rapids_build_backend_args} - - name: pylibcudf - sub_dir: python/pylibcudf - depends: [cudf] - args: {install: *rapids_build_backend_args} - test: ci/run_pylibcudf_pytests.sh - - name: cudf - sub_dir: python/cudf - depends: [cudf] - args: {install: *rapids_build_backend_args} - test: ci/run_cudf_pytests.sh - - name: dask-cudf - sub_dir: python/dask_cudf - args: {install: *rapids_build_backend_args} - test: ci/run_dask_cudf_pytests.sh - - name: cudf-polars - sub_dir: python/cudf_polars - args: {install: *rapids_build_backend_args} - test: ci/run_cudf_polars_pytests.sh - - name: cudf_kafka - sub_dir: python/cudf_kafka - depends: [cudf_kafka] - args: {install: *rapids_build_backend_args} - test: ci/run_cudf_kafka_pytests.sh - - name: custreamz - sub_dir: python/custreamz - args: {install: *rapids_build_backend_args} - test: ci/run_custreamz_pytests.sh - -- name: rapidsmpf - path: rapidsmpf - git: {<<: *git_defaults, repo: rapidsmpf} - dependency_keys: - - devcontainers - cpp: - - name: rapidsmpf - sub_dir: cpp - depends: [rmm, ucxx, cudf] - test: ci/run_ctests.sh - python: - - name: librapidsmpf - sub_dir: python/librapidsmpf - depends: [rapidsmpf] - args: {install: *rapids_build_backend_args} - - name: rapidsmpf - sub_dir: python/rapidsmpf - depends: [rapidsmpf, ucxx-python] - args: {install: *rapids_build_backend_args} - test: ci/run_pytests.sh - -- name: raft - path: raft - git: {<<: *git_defaults, repo: raft} - cpp: - - name: raft - sub_dir: cpp - depends: [rmm] - parallelism: - max_device_obj_memory_usage: 3Gi - args: {cmake: -DRAFT_COMPILE_LIBRARY=ON} - test: ci/run_ctests.sh - python: - - name: libraft - sub_dir: python/libraft - depends: [raft] - args: {install: *rapids_build_backend_args} - - name: pylibraft - sub_dir: python/pylibraft - depends: [raft] - args: {install: *rapids_build_backend_args} - test: ci/run_pylibraft_pytests.sh - - name: raft-dask - sub_dir: python/raft-dask - depends: [ucxx, raft] - args: {install: *rapids_build_backend_args} - test: ci/run_raft_dask_pytests.sh - -- name: cuvs - path: cuvs - git: {<<: *git_defaults, repo: cuvs} - cpp: - - name: cuvs - sub_dir: cpp - depends: [rmm, raft] - parallelism: - max_device_obj_memory_usage: 3Gi - args: {cmake: -DBUILD_C_LIBRARY=ON} - test: ci/run_ctests.sh - python: - - name: libcuvs - sub_dir: python/libcuvs - depends: [cuvs] - args: {install: *rapids_build_backend_args} - - name: cuvs - sub_dir: python/cuvs - depends: [cuvs] - args: {install: *rapids_build_backend_args} - test: ci/run_cuvs_pytests.sh - -- name: cuml - path: cuml - git: {<<: *git_defaults, repo: cuml} - dependency_keys: - - devcontainers - cpp: - - name: cuml - sub_dir: cpp - depends: [rmm, raft, cuvs] - parallelism: - max_device_obj_memory_usage: 3Gi - test: ci/run_ctests.sh - python: - - name: libcuml - sub_dir: python/libcuml - depends: [cuml] - args: {install: *rapids_build_backend_args} - - name: cuml - sub_dir: python/cuml - depends: [cuml] - args: {install: *rapids_build_backend_args} - test: ci/run_cuml_singlegpu_pytests.sh - -- name: nvforest - path: nvforest - git: {<<: *git_defaults, repo: nvforest} - dependency_keys: - - devcontainers - cpp: - - name: nvforest - sub_dir: cpp - depends: [rmm, raft] - parallelism: - max_device_obj_memory_usage: 3Gi - test: ci/run_ctests.sh - python: - - name: libnvforest - sub_dir: python/libnvforest - depends: [nvforest] - args: {install: *rapids_build_backend_args} - - name: nvforest - sub_dir: python/nvforest - depends: [nvforest] - args: {install: *rapids_build_backend_args} - test: ci/run_nvforest_pytests.sh - -- name: cugraph - path: cugraph - git: {<<: *git_defaults, repo: cugraph} - cpp: - - name: cugraph - sub_dir: cpp - depends: [rmm, ucxx, raft, cuvs] - env: | - CFLAGS=-D_GLIBCXX_USE_TBB_PAR_BACKEND=0 - CXXFLAGS=-D_GLIBCXX_USE_TBB_PAR_BACKEND=0 - CUDAFLAGS=-D_GLIBCXX_USE_TBB_PAR_BACKEND=0 - test: ci/run_ctests.sh - - name: cugraph_etl - sub_dir: cpp/libcugraph_etl - depends: [cudf, cugraph] - env: | - CFLAGS=-D_GLIBCXX_USE_TBB_PAR_BACKEND=0 - CXXFLAGS=-D_GLIBCXX_USE_TBB_PAR_BACKEND=0 - CUDAFLAGS=-D_GLIBCXX_USE_TBB_PAR_BACKEND=0 - python: - - name: libcugraph - sub_dir: python/libcugraph - depends: [cugraph] - args: {install: *rapids_build_backend_args} - - name: pylibcugraph - sub_dir: python/pylibcugraph - depends: [cugraph] - args: {install: *rapids_build_backend_args} - test: ci/run_pylibcugraph_pytests.sh - - name: cugraph - sub_dir: python/cugraph - depends: [cugraph] - args: {install: *rapids_build_backend_args} - test: ci/run_cugraph_pytests.sh - -- name: cugraph-gnn - path: cugraph-gnn - git: {<<: *git_defaults, repo: cugraph-gnn} - cpp: - - name: wholegraph - sub_dir: cpp - depends: [raft] - args: - cmake: -DCMAKE_CUDA_ARCHITECTURES="${CUDAARCHS}" - test: ci/run_ctests.sh - python: - - name: libwholegraph - sub_dir: python/libwholegraph - depends: [wholegraph] - args: {install: *rapids_build_backend_args} - - name: pylibwholegraph - sub_dir: python/pylibwholegraph - depends: [wholegraph] - args: {install: *rapids_build_backend_args} - test: ci/run_pylibwholegraph_pytests.sh - - name: cugraph_pyg - sub_dir: python/cugraph-pyg - args: {install: *rapids_build_backend_args} - test: ci/run_cugraph_pyg_pytests.sh - -- name: nx-cugraph - path: nx-cugraph - git: {<<: *git_defaults, repo: nx-cugraph} - python: - - name: nx-cugraph - sub_dir: . - args: {install: *rapids_build_backend_args} - -- name: cuopt - path: cuopt - git: {<<: *git_defaults, repo: cuopt, upstream: NVIDIA} - cpp: - - name: cuopt - sub_dir: cpp - depends: [rmm, raft] - env: | - CUDSS_DIR=/usr - python: - - name: libcuopt - sub_dir: python/libcuopt - depends: [cuopt] - args: {install: *rapids_build_backend_args} - - name: cuopt - sub_dir: python/cuopt - depends: [cuopt, cudf, raft] - args: {install: *rapids_build_backend_args} + - name: rmm + path: rmm + git: {!!merge <<: *git_defaults, repo: rmm} + cpp: + - name: rmm + sub_dir: cpp + test: ci/run_ctests.sh + python: + - name: librmm + sub_dir: python/librmm + depends: [rmm] + args: {install: *rapids_build_backend_args} + - name: rmm + sub_dir: python/rmm + depends: [rmm] + args: {install: *rapids_build_backend_args} + test: ci/run_pytests.sh + - name: ucxx + path: ucxx + git: {!!merge <<: *git_defaults, repo: ucxx, tag: release/0.50} + cpp: + - name: ucxx + sub_dir: cpp + depends: [rmm] + args: {cmake: -DUCXX_ENABLE_RMM=ON} + test: ci/run_cpp.sh + - name: ucxx-python + sub_dir: cpp/python + depends: [ucxx] + args: {cmake: -DFIND_UCXX_CPP=ON} + python: + - name: libucxx + sub_dir: python/libucxx + args: {cmake: -DFIND_UCXX_PYTHON=ON, install: *rapids_build_backend_args} + depends: [ucxx, ucxx-python] + - name: ucxx + sub_dir: python/ucxx + depends: [ucxx, ucxx-python] + args: {cmake: -DFIND_UCXX_PYTHON=ON, install: *rapids_build_backend_args} + test: ci/run_python.sh + - name: distributed-ucxx + sub_dir: python/distributed-ucxx + depends: [ucxx, ucxx-python] + args: {install: *rapids_build_backend_args} + test: ci/run_python_distributed.sh + - name: dask-cuda + path: dask-cuda + git: {!!merge <<: *git_defaults, repo: dask-cuda} + python: + - name: dask-cuda + test: ci/run_pytest.sh + - name: kvikio + path: kvikio + git: {!!merge <<: *git_defaults, repo: kvikio} + cpp: + - name: kvikio + sub_dir: cpp + test: ci/run_ctests.sh + python: + - name: libkvikio + sub_dir: python/libkvikio + depends: [kvikio] + args: {install: *rapids_build_backend_args} + - name: kvikio + sub_dir: python/kvikio + depends: [kvikio] + args: {install: *rapids_build_backend_args} + test: ci/run_pytests.sh + - name: cudf + path: cudf + git: {!!merge <<: *git_defaults, repo: cudf} + cpp: + - name: cudf + sub_dir: cpp + depends: [rmm, kvikio] + test: ci/run_cudf_ctests.sh + - name: cudf_kafka + sub_dir: cpp/libcudf_kafka + depends: [cudf] + test: ci/run_cudf_kafka_ctests.sh + python: + - name: libcudf + sub_dir: python/libcudf + depends: [cudf] + args: {install: *rapids_build_backend_args} + - name: pylibcudf + sub_dir: python/pylibcudf + depends: [cudf] + args: {install: *rapids_build_backend_args} + test: ci/run_pylibcudf_pytests.sh + - name: cudf + sub_dir: python/cudf + depends: [cudf] + args: {install: *rapids_build_backend_args} + test: ci/run_cudf_pytests.sh + - name: dask-cudf + sub_dir: python/dask_cudf + args: {install: *rapids_build_backend_args} + test: ci/run_dask_cudf_pytests.sh + - name: cudf-polars + sub_dir: python/cudf_polars + args: {install: *rapids_build_backend_args} + test: ci/run_cudf_polars_pytests.sh + - name: cudf_kafka + sub_dir: python/cudf_kafka + depends: [cudf_kafka] + args: {install: *rapids_build_backend_args} + test: ci/run_cudf_kafka_pytests.sh + - name: custreamz + sub_dir: python/custreamz + args: {install: *rapids_build_backend_args} + test: ci/run_custreamz_pytests.sh + - name: rapidsmpf + path: rapidsmpf + git: {!!merge <<: *git_defaults, repo: rapidsmpf} + dependency_keys: + - devcontainers + cpp: + - name: rapidsmpf + sub_dir: cpp + depends: [rmm, ucxx, cudf] + test: ci/run_ctests.sh + python: + - name: librapidsmpf + sub_dir: python/librapidsmpf + depends: [rapidsmpf] + args: {install: *rapids_build_backend_args} + - name: rapidsmpf + sub_dir: python/rapidsmpf + depends: [rapidsmpf, ucxx-python] + args: {install: *rapids_build_backend_args} + test: ci/run_pytests.sh + - name: raft + path: raft + git: {!!merge <<: *git_defaults, repo: raft} + cpp: + - name: raft + sub_dir: cpp + depends: [rmm] + parallelism: + max_device_obj_memory_usage: 3Gi + args: {cmake: -DRAFT_COMPILE_LIBRARY=ON} + test: ci/run_ctests.sh + python: + - name: libraft + sub_dir: python/libraft + depends: [raft] + args: {install: *rapids_build_backend_args} + - name: pylibraft + sub_dir: python/pylibraft + depends: [raft] + args: {install: *rapids_build_backend_args} + test: ci/run_pylibraft_pytests.sh + - name: raft-dask + sub_dir: python/raft-dask + depends: [ucxx, raft] + args: {install: *rapids_build_backend_args} + test: ci/run_raft_dask_pytests.sh + - name: cuvs + path: cuvs + git: {!!merge <<: *git_defaults, repo: cuvs} + cpp: + - name: cuvs + sub_dir: cpp + depends: [rmm, raft] + parallelism: + max_device_obj_memory_usage: 3Gi + args: {cmake: -DBUILD_C_LIBRARY=ON} + test: ci/run_ctests.sh + python: + - name: libcuvs + sub_dir: python/libcuvs + depends: [cuvs] + args: {install: *rapids_build_backend_args} + - name: cuvs + sub_dir: python/cuvs + depends: [cuvs] + args: {install: *rapids_build_backend_args} + test: ci/run_cuvs_pytests.sh + - name: cuml + path: cuml + git: {!!merge <<: *git_defaults, repo: cuml} + dependency_keys: + - devcontainers + cpp: + - name: cuml + sub_dir: cpp + depends: [rmm, raft, cuvs] + parallelism: + max_device_obj_memory_usage: 3Gi + test: ci/run_ctests.sh + python: + - name: libcuml + sub_dir: python/libcuml + depends: [cuml] + args: {install: *rapids_build_backend_args} + - name: cuml + sub_dir: python/cuml + depends: [cuml] + args: {install: *rapids_build_backend_args} + test: ci/run_cuml_singlegpu_pytests.sh + - name: nvforest + path: nvforest + git: {!!merge <<: *git_defaults, repo: nvforest} + dependency_keys: + - devcontainers + cpp: + - name: nvforest + sub_dir: cpp + depends: [rmm, raft] + parallelism: + max_device_obj_memory_usage: 3Gi + test: ci/run_ctests.sh + python: + - name: libnvforest + sub_dir: python/libnvforest + depends: [nvforest] + args: {install: *rapids_build_backend_args} + - name: nvforest + sub_dir: python/nvforest + depends: [nvforest] + args: {install: *rapids_build_backend_args} + test: ci/run_nvforest_pytests.sh + - name: cugraph + path: cugraph + git: {!!merge <<: *git_defaults, repo: cugraph} + cpp: + - name: cugraph + sub_dir: cpp + depends: [rmm, ucxx, raft, cuvs] + env: | + CFLAGS=-D_GLIBCXX_USE_TBB_PAR_BACKEND=0 + CXXFLAGS=-D_GLIBCXX_USE_TBB_PAR_BACKEND=0 + CUDAFLAGS=-D_GLIBCXX_USE_TBB_PAR_BACKEND=0 + test: ci/run_ctests.sh + - name: cugraph_etl + sub_dir: cpp/libcugraph_etl + depends: [cudf, cugraph] + env: | + CFLAGS=-D_GLIBCXX_USE_TBB_PAR_BACKEND=0 + CXXFLAGS=-D_GLIBCXX_USE_TBB_PAR_BACKEND=0 + CUDAFLAGS=-D_GLIBCXX_USE_TBB_PAR_BACKEND=0 + python: + - name: libcugraph + sub_dir: python/libcugraph + depends: [cugraph] + args: {install: *rapids_build_backend_args} + - name: pylibcugraph + sub_dir: python/pylibcugraph + depends: [cugraph] + args: {install: *rapids_build_backend_args} + test: ci/run_pylibcugraph_pytests.sh + - name: cugraph + sub_dir: python/cugraph + depends: [cugraph] + args: {install: *rapids_build_backend_args} + test: ci/run_cugraph_pytests.sh + - name: cugraph-gnn + path: cugraph-gnn + git: {!!merge <<: *git_defaults, repo: cugraph-gnn} + cpp: + - name: wholegraph + sub_dir: cpp + depends: [raft] + args: + cmake: -DCMAKE_CUDA_ARCHITECTURES="${CUDAARCHS}" + test: ci/run_ctests.sh + python: + - name: libwholegraph + sub_dir: python/libwholegraph + depends: [wholegraph] + args: {install: *rapids_build_backend_args} + - name: pylibwholegraph + sub_dir: python/pylibwholegraph + depends: [wholegraph] + args: {install: *rapids_build_backend_args} + test: ci/run_pylibwholegraph_pytests.sh + - name: cugraph_pyg + sub_dir: python/cugraph-pyg + args: {install: *rapids_build_backend_args} + test: ci/run_cugraph_pyg_pytests.sh + - name: nx-cugraph + path: nx-cugraph + git: {!!merge <<: *git_defaults, repo: nx-cugraph} + python: + - name: nx-cugraph + sub_dir: . + args: {install: *rapids_build_backend_args} + - name: cuopt + path: cuopt + git: {!!merge <<: *git_defaults, repo: cuopt, upstream: NVIDIA} + cpp: + - name: cuopt + sub_dir: cpp + depends: [rmm, raft] + env: | + CUDSS_DIR=/usr + python: + - name: libcuopt + sub_dir: python/libcuopt + depends: [cuopt] + args: {install: *rapids_build_backend_args} + - name: cuopt + sub_dir: python/cuopt + depends: [cuopt, cudf, raft] + args: {install: *rapids_build_backend_args} From 86aec5e7ae2194355027dc630475770fe4063372 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Mon, 18 May 2026 18:13:59 -0500 Subject: [PATCH 16/16] Limit branch conversion to ucxx --- .../opt/rapids-build-utils/bin/checkout-same-branch.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh index cee54558..9942f3ce 100755 --- a/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh +++ b/features/src/rapids-build-utils/opt/rapids-build-utils/bin/checkout-same-branch.sh @@ -23,7 +23,7 @@ convert-ucx-branch() { custom_branch=$2 normalized_branch="${custom_branch}" - if [[ "${repo}" == "ucx"* ]]; then + if [[ "${repo}" == "ucxx" ]]; then # Only convert branches that match the pattern release/YY.MM if [[ "${custom_branch}" =~ ^release/[0-9]{2}\.[0-9]{2}$ ]]; then RAPIDS_VERSION=$(echo "${custom_branch}" | awk '{split($0, a, "/"); print a[2]}') @@ -68,7 +68,7 @@ checkout_same_branch() { local path="${!repo_path}"; # Skip ucxx repositories when determining common branches - if [[ "${name}" == "ucx"* ]]; then + if [[ "${name}" == "ucxx" ]]; then continue; fi @@ -158,7 +158,7 @@ checkout_same_branch() { local normalized_branch; normalized_branch=$(convert-ucx-branch "${repo_name_val}" "${branch}"); - if [[ "${repo_name_val}" == "ucx"* ]]; then + if [[ "${repo_name_val}" == "ucxx" ]]; then echo "Using normalized branch '${normalized_branch}' for repository '${repo_name_val}'"; branch="${normalized_branch}"; fi