diff --git a/resources/github-actions.md b/resources/github-actions.md index bcbcb56cdb6..8393059d5da 100644 --- a/resources/github-actions.md +++ b/resources/github-actions.md @@ -457,6 +457,43 @@ source ./ci/use_conda_packages_from_prs.sh **Note:** By default `rapids-get-pr-artifact` uses the most recent commit from the specified PR. A commit hash from the dependent PR can be added as an optional 4th argument to pin testing to a specific commit. +**Example 3:** Testing `cudf` with a `noarch` build of `dask-cuda` + +```shell +#!/bin/bash +# Copyright (c) 2025, NVIDIA CORPORATION. + +# download CI artifacts +DASK_CUDA_CHANNEL=$(RAPIDS_PY_NOARCH_SUFFIX="noarch" rapids-get-pr-artifact dask-cuda 1595 python conda --noarch) + +# 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=("${DASK_CUDA_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 +``` + +Then copy the following into every script in the `ci/` directory that is doing `conda` installs. + +```shell +source ./ci/use_conda_packages_from_prs.sh +``` + ### Using Wheel CI Artifacts in Other PRs To use wheels produced by other PRs' CI: diff --git a/resources/reproducing-ci.md b/resources/reproducing-ci.md index d366a50bf17..b61e343b075 100644 --- a/resources/reproducing-ci.md +++ b/resources/reproducing-ci.md @@ -155,7 +155,12 @@ In CI, this process happens transparently. Local builds lack the context provided by the CI environment and therefore require some user-supplied input in order to ensure that the correct artifacts are downloaded. -Any time the `rapids-download-{conda,wheels}-from-github` command (e.g. [here](https://github.com/rapidsai/cugraph/blob/63aaa24c675f63033e72d2fa611649153fbd44ab/ci/test_cpp.sh#L15)) is encountered in a local test run, the user will be prompted for any necessary environment variables that are missing. +Any time the `rapids-download-{conda,wheels}-from-github` command (e.g. +[here](https://github.com/rapidsai/cugraph/blob/63aaa24c675f63033e72d2fa611649153fbd44ab/ci/test_cpp.sh#L15)) +or the `rapids-download-from-github "$(rapids-package-name ...)"` command (e.g. +[here](https://github.com/rapidsai/cuxfilter/blob/b9964b157db60a647421bba719a661afb9994a83/ci/test_python.sh#L13)) +is encountered in a local test run, the user will be prompted for any necessary +environment variables that are missing. The screenshot below shows an example.