From 3884a71a3fdf40c1f5dc04fc5c2e649ce2a55abc Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Wed, 9 Sep 2026 11:16:19 -0700 Subject: [PATCH 1/2] ci: establish pip cache baseline --- .github/workflows/pr.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 38d3fa8171a..4d7948c53fb 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -1,3 +1,4 @@ +# Full-CI baseline for the pip-cache experiment. name: pr on: push: From c2ba6e7f948a88027fb57b036a883a6e1f438af4 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Wed, 9 Sep 2026 12:38:28 -0700 Subject: [PATCH 2/2] ci: prototype shared pip cache within jobs --- ci/build_wheel_common.sh | 2 +- .../pandas-tests/merge-nightly.sh | 2 +- ci/cudf_pandas_scripts/pandas-tests/run.sh | 2 +- .../pandas-tests/summary.sh | 2 +- ci/cudf_pandas_scripts/run_tests.sh | 2 +- ci/rapids-init-pip-prototype.sh | 21 +++++++++++++++++++ ci/test_cudf_polars_polars_tests.sh | 2 +- ci/test_narwhals.sh | 2 +- ci/test_wheel_cudf.sh | 2 +- ci/test_wheel_cudf_polars.sh | 2 +- ci/test_wheel_dask_cudf.sh | 2 +- 11 files changed, 31 insertions(+), 10 deletions(-) create mode 100644 ci/rapids-init-pip-prototype.sh diff --git a/ci/build_wheel_common.sh b/ci/build_wheel_common.sh index b74bb293b3e..1caf17d742d 100644 --- a/ci/build_wheel_common.sh +++ b/ci/build_wheel_common.sh @@ -4,7 +4,7 @@ source rapids-configure-sccache source rapids-datetime-string -source rapids-init-pip +source ci/rapids-init-pip-prototype.sh export SCCACHE_S3_USE_PREPROCESSOR_CACHE_MODE=true diff --git a/ci/cudf_pandas_scripts/pandas-tests/merge-nightly.sh b/ci/cudf_pandas_scripts/pandas-tests/merge-nightly.sh index a9c8789d855..16af797926e 100755 --- a/ci/cudf_pandas_scripts/pandas-tests/merge-nightly.sh +++ b/ci/cudf_pandas_scripts/pandas-tests/merge-nightly.sh @@ -19,7 +19,7 @@ set -euo pipefail -source rapids-init-pip +source ci/rapids-init-pip-prototype.sh # shellcheck source=ci/cudf_pandas_scripts/pandas-tests/shard-results.sh source ci/cudf_pandas_scripts/pandas-tests/shard-results.sh diff --git a/ci/cudf_pandas_scripts/pandas-tests/run.sh b/ci/cudf_pandas_scripts/pandas-tests/run.sh index 9e035d5073a..8cafe978276 100755 --- a/ci/cudf_pandas_scripts/pandas-tests/run.sh +++ b/ci/cudf_pandas_scripts/pandas-tests/run.sh @@ -4,7 +4,7 @@ set -euo pipefail -source rapids-init-pip +source ci/rapids-init-pip-prototype.sh EXITCODE=0 trap "EXITCODE=1" ERR diff --git a/ci/cudf_pandas_scripts/pandas-tests/summary.sh b/ci/cudf_pandas_scripts/pandas-tests/summary.sh index 23d7ed6c8ef..f733b7a273c 100755 --- a/ci/cudf_pandas_scripts/pandas-tests/summary.sh +++ b/ci/cudf_pandas_scripts/pandas-tests/summary.sh @@ -19,7 +19,7 @@ # every fallible command is guarded explicitly and the script always exits 0. set -uo pipefail -source rapids-init-pip +source ci/rapids-init-pip-prototype.sh # shellcheck source=ci/cudf_pandas_scripts/pandas-tests/shard-results.sh source ci/cudf_pandas_scripts/pandas-tests/shard-results.sh diff --git a/ci/cudf_pandas_scripts/run_tests.sh b/ci/cudf_pandas_scripts/run_tests.sh index b17cb7ba380..23cfca66c76 100755 --- a/ci/cudf_pandas_scripts/run_tests.sh +++ b/ci/cudf_pandas_scripts/run_tests.sh @@ -4,7 +4,7 @@ set -eoxu pipefail -source rapids-init-pip +source ci/rapids-init-pip-prototype.sh RAPIDS_TESTS_DIR=${RAPIDS_TESTS_DIR:-"${PWD}/test-results"} RAPIDS_COVERAGE_DIR=${RAPIDS_COVERAGE_DIR:-"${PWD}/coverage-results"} diff --git a/ci/rapids-init-pip-prototype.sh b/ci/rapids-init-pip-prototype.sh new file mode 100644 index 00000000000..72e7b1a383a --- /dev/null +++ b/ci/rapids-init-pip-prototype.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +# Use the unreleased rapids-init-pip change under evaluation. Keeping the tool in +# the workspace makes it available to every pip invocation in this CI job, while +# deliberately not persisting it across jobs. +RAPIDS_INIT_PIP_SHA=a1aa4d1a80fcbf09da0f0b8eebf0e41ab42c0f48 +RAPIDS_INIT_PIP_DIR="${GITHUB_WORKSPACE:-${PWD}}/.cache/gha-tools/${RAPIDS_INIT_PIP_SHA}" +RAPIDS_INIT_PIP_PATH="${RAPIDS_INIT_PIP_DIR}/rapids-init-pip" + +if [[ ! -f "${RAPIDS_INIT_PIP_PATH}" ]]; then + mkdir -p "${RAPIDS_INIT_PIP_DIR}" + curl --fail --location --silent --show-error \ + "https://raw.githubusercontent.com/rapidsai/gha-tools/${RAPIDS_INIT_PIP_SHA}/tools/rapids-init-pip" \ + --output "${RAPIDS_INIT_PIP_PATH}" +fi + +# shellcheck disable=SC1090 +source "${RAPIDS_INIT_PIP_PATH}" +python -m pip cache dir diff --git a/ci/test_cudf_polars_polars_tests.sh b/ci/test_cudf_polars_polars_tests.sh index 32cd390473a..269c408070b 100755 --- a/ci/test_cudf_polars_polars_tests.sh +++ b/ci/test_cudf_polars_polars_tests.sh @@ -4,7 +4,7 @@ set -euo pipefail -source rapids-init-pip +source ci/rapids-init-pip-prototype.sh rapids-logger "Download wheels" diff --git a/ci/test_narwhals.sh b/ci/test_narwhals.sh index fde89aedcb8..fe457bdc2a0 100755 --- a/ci/test_narwhals.sh +++ b/ci/test_narwhals.sh @@ -8,7 +8,7 @@ set -euo pipefail CI_DIR="$(dirname "$(realpath "${BASH_SOURCE[0]}")")" cd "${CI_DIR}/../" -source rapids-init-pip +source ci/rapids-init-pip-prototype.sh # Common setup steps shared by Python test jobs source ./ci/test_python_common.sh test_python_narwhals diff --git a/ci/test_wheel_cudf.sh b/ci/test_wheel_cudf.sh index 1b4a5a4c17e..7e9d053c2c8 100755 --- a/ci/test_wheel_cudf.sh +++ b/ci/test_wheel_cudf.sh @@ -4,7 +4,7 @@ set -euo pipefail -source rapids-init-pip +source ci/rapids-init-pip-prototype.sh RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen "${RAPIDS_CUDA_VERSION}")" RUN_PYLIBCUDF_TESTS="${RUN_PYLIBCUDF_TESTS:-true}" diff --git a/ci/test_wheel_cudf_polars.sh b/ci/test_wheel_cudf_polars.sh index 54afcd35ab8..a59aa531635 100755 --- a/ci/test_wheel_cudf_polars.sh +++ b/ci/test_wheel_cudf_polars.sh @@ -4,7 +4,7 @@ set -euo pipefail -source rapids-init-pip +source ci/rapids-init-pip-prototype.sh rapids-logger "Download wheels" diff --git a/ci/test_wheel_dask_cudf.sh b/ci/test_wheel_dask_cudf.sh index e39b6d825ef..146a6b754dc 100755 --- a/ci/test_wheel_dask_cudf.sh +++ b/ci/test_wheel_dask_cudf.sh @@ -4,7 +4,7 @@ set -euo pipefail -source rapids-init-pip +source ci/rapids-init-pip-prototype.sh RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen "${RAPIDS_CUDA_VERSION}")" DASK_CUDF_WHEELHOUSE=$(rapids-download-from-github "$(rapids-artifact-name wheel_python dask-cudf cudf --pure --arch any --cuda "$RAPIDS_CUDA_VERSION")")