diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 38d3fa8171a..f84632d620b 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -310,6 +310,14 @@ jobs: with: build_type: pull-request script: ci/test_cpp.sh + cache-paths: .cache/libcudf + cache-key-prefix: libcudf-rtcx-v1 + # Caches are immutable, so key them by the C++ sources and tests that produce their entries. + # This lets a completed run save newly compiled entries for an exact rerun. + cache-key-files: cpp/** + cache-environment: | + LIBCUDF_KERNEL_CACHE_PATH=.cache/libcudf + LIBCUDF_KERNEL_CACHE_PRELOAD=1 # https://github.com/NVIDIA/cudf/issues/23498 matrix_filter: map(select(.GPU != "gb300" and .GPU != "gh200")) conda-python-build: diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index c937f87244e..155c694e027 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -54,6 +54,14 @@ jobs: date: ${{ inputs.date }} script: ci/test_cpp.sh sha: ${{ inputs.sha }} + cache-paths: .cache/libcudf + cache-key-prefix: libcudf-rtcx-v1 + # Caches are immutable, so key them by the C++ sources and tests that produce their entries. + # This lets a completed run save newly compiled entries for an exact rerun. + cache-key-files: cpp/** + cache-environment: | + LIBCUDF_KERNEL_CACHE_PATH=.cache/libcudf + LIBCUDF_KERNEL_CACHE_PRELOAD=1 # https://github.com/NVIDIA/cudf/issues/23498 matrix_filter: map(select(.GPU != "gb300" and .GPU != "gh200")) conda-cpp-benchmark-tests: diff --git a/ci/release/update-version.sh b/ci/release/update-version.sh index 3a643b70cd9..7f1982ee412 100755 --- a/ci/release/update-version.sh +++ b/ci/release/update-version.sh @@ -158,6 +158,7 @@ DEPENDENCIES=( libcudf libcudf-example libcudf-streaming + libcudf-streaming-tests libcudf-tests libcudf_kafka libkvikio diff --git a/ci/test_cpp_common.sh b/ci/test_cpp_common.sh index a0607b27891..2882ee80fc2 100755 --- a/ci/test_cpp_common.sh +++ b/ci/test_cpp_common.sh @@ -1,5 +1,5 @@ #!/bin/bash -# SPDX-FileCopyrightText: Copyright (c) 2022-2026, NVIDIA CORPORATION. +# SPDX-FileCopyrightText: Copyright (c) 2022-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 set -euo pipefail @@ -33,6 +33,15 @@ RESULTS_DIR=${RAPIDS_TESTS_DIR:-"$(mktemp -d)"} RAPIDS_TESTS_DIR=${RAPIDS_TESTS_DIR:-"${RESULTS_DIR}/test-results"}/ mkdir -p "${RAPIDS_TESTS_DIR}" +# CI provides LIBCUDF_KERNEL_CACHE_PATH through the reusable workflow's cache-environment input. +# Resolve a workspace-relative value before CTest changes its working directory. +LIBCUDF_KERNEL_CACHE_PATH="${LIBCUDF_KERNEL_CACHE_PATH:-.cache/libcudf}" +if [[ "${LIBCUDF_KERNEL_CACHE_PATH}" != /* ]]; then + LIBCUDF_KERNEL_CACHE_PATH="$(realpath -m "${LIBCUDF_KERNEL_CACHE_PATH}")" +fi +export LIBCUDF_KERNEL_CACHE_PATH +mkdir -p "${LIBCUDF_KERNEL_CACHE_PATH}" + rapids-print-env rapids-logger "Check GPU usage" diff --git a/dependencies.yaml b/dependencies.yaml index f819941c5e0..d698c29a0f3 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1137,7 +1137,7 @@ dependencies: - libcudf-example==26.12.*,>=0.0.0a0 - libcudf_kafka==26.12.*,>=0.0.0a0 - libcudf-tests==26.12.*,>=0.0.0a0 - - libcudf-streaming-tests==26.10.*,>=0.0.0a0 + - libcudf-streaming-tests==26.12.*,>=0.0.0a0 test_python_common: common: - output_types: [conda, requirements, constraints, pyproject]