Skip to content

Commit fc7b55c

Browse files
authored
Merge branch 'release/25.12' into java/rmm-memory-pool-functions
2 parents bd8670a + 94ea498 commit fc7b55c

File tree

14 files changed

+180
-47
lines changed

14 files changed

+180
-47
lines changed

.devcontainer/Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# SPDX-FileCopyrightText: Copyright (c) 2023-2025, NVIDIA CORPORATION. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
14
# syntax=docker/dockerfile:1.5
25

36
ARG BASE
@@ -42,6 +45,7 @@ ENV HISTFILE="/home/coder/.cache/._bash_history"
4245
ENV AWS_ROLE_ARN="arn:aws:iam::279114543810:role/nv-gha-token-sccache-devs"
4346
ENV SCCACHE_REGION="us-east-2"
4447
ENV SCCACHE_BUCKET="rapids-sccache-devs"
48+
ENV SCCACHE_S3_USE_PREPROCESSOR_CACHE_MODE=true
4549
ENV SCCACHE_IDLE_TIMEOUT=0
4650

4751
###

.github/workflows/build.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,10 @@ jobs:
3939
build_type: ${{ inputs.build_type || 'branch' }}
4040
branch: ${{ inputs.branch }}
4141
date: ${{ inputs.date }}
42+
node_type: cpu16
4243
script: ci/build_cpp.sh
4344
sha: ${{ inputs.sha }}
45+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
4446

4547
rocky8-clib-standalone-build:
4648
secrets: inherit
@@ -63,6 +65,7 @@ jobs:
6365
artifact-name: "libcuvs_c_${{ matrix.cuda_version }}.tar.gz"
6466
file_to_upload: "libcuvs_c.tar.gz"
6567
sha: ${{ inputs.sha }}
68+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
6669
rust-build:
6770
needs: cpp-build
6871
secrets: inherit
@@ -84,6 +87,7 @@ jobs:
8487
node_type: "gpu-l4-latest-1"
8588
script: "ci/build_rust.sh"
8689
sha: ${{ inputs.sha }}
90+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
8791
go-build:
8892
needs: cpp-build
8993
secrets: inherit
@@ -127,6 +131,7 @@ jobs:
127131
artifact-name: "cuvs-java-cuda${{ matrix.cuda_version }}"
128132
file_to_upload: "java/cuvs-java/target/"
129133
sha: ${{ inputs.sha }}
134+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
130135
python-build:
131136
needs: [cpp-build]
132137
secrets: inherit
@@ -137,6 +142,7 @@ jobs:
137142
date: ${{ inputs.date }}
138143
script: ci/build_python.sh
139144
sha: ${{ inputs.sha }}
145+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
140146
upload-conda:
141147
needs: [cpp-build, python-build]
142148
secrets: inherit
@@ -173,11 +179,13 @@ jobs:
173179
branch: ${{ inputs.branch }}
174180
sha: ${{ inputs.sha }}
175181
date: ${{ inputs.date }}
182+
node_type: cpu16
176183
script: ci/build_wheel_libcuvs.sh
177184
# build for every combination of arch and CUDA version, but only for the latest Python
178185
matrix_filter: group_by([.ARCH, (.CUDA_VER|split(".")|map(tonumber)|.[0])]) | map(max_by(.PY_VER|split(".")|map(tonumber)))
179186
package-name: libcuvs
180187
package-type: cpp
188+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
181189
wheel-publish-libcuvs:
182190
needs: wheel-build-libcuvs
183191
secrets: inherit
@@ -198,8 +206,10 @@ jobs:
198206
branch: ${{ inputs.branch }}
199207
sha: ${{ inputs.sha }}
200208
date: ${{ inputs.date }}
209+
node_type: cpu8
201210
script: ci/build_wheel_cuvs.sh
202211
package-name: cuvs
212+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
203213
package-type: python
204214
wheel-publish-cuvs:
205215
needs: wheel-build-cuvs

.github/workflows/pr.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ jobs:
144144
build_type: pull-request
145145
node_type: cpu16
146146
script: ci/build_cpp.sh
147+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
147148
conda-cpp-tests:
148149
needs: [conda-cpp-build, changed-files]
149150
secrets: inherit
@@ -152,6 +153,7 @@ jobs:
152153
with:
153154
build_type: pull-request
154155
script: ci/test_cpp.sh
156+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
155157
conda-cpp-checks:
156158
needs: conda-cpp-build
157159
secrets: inherit
@@ -174,6 +176,7 @@ jobs:
174176
with:
175177
build_type: pull-request
176178
script: ci/test_python.sh
179+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
177180
rocky8-clib-standalone-build:
178181
needs: [checks]
179182
secrets: inherit
@@ -195,6 +198,7 @@ jobs:
195198
artifact-name: "libcuvs_c_${{ matrix.cuda_version }}.tar.gz"
196199
file_to_upload: "libcuvs_c.tar.gz"
197200
sha: ${{ inputs.sha }}
201+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
198202
rocky8-clib-tests:
199203
needs: [rocky8-clib-standalone-build, changed-files]
200204
secrets: inherit
@@ -235,6 +239,7 @@ jobs:
235239
script: "ci/test_java.sh"
236240
artifact-name: "cuvs-java-cuda${{ matrix.cuda_version }}"
237241
file_to_upload: "java/cuvs-java/target/"
242+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
238243
rust-build:
239244
needs: [conda-cpp-build, changed-files]
240245
secrets: inherit
@@ -254,6 +259,7 @@ jobs:
254259
arch: "amd64"
255260
container_image: "rapidsai/ci-conda:25.12-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
256261
script: "ci/build_rust.sh"
262+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
257263
go-build:
258264
needs: [conda-cpp-build, changed-files]
259265
secrets: inherit
@@ -289,20 +295,24 @@ jobs:
289295
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/25.12
290296
with:
291297
build_type: pull-request
298+
node_type: cpu16
292299
script: ci/build_wheel_libcuvs.sh
293300
# build for every combination of arch and CUDA version, but only for the latest Python
294301
matrix_filter: group_by([.ARCH, (.CUDA_VER|split(".")|map(tonumber)|.[0])]) | map(max_by(.PY_VER|split(".")|map(tonumber)))
295302
package-name: libcuvs
296303
package-type: cpp
304+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
297305
wheel-build-cuvs:
298306
needs: wheel-build-libcuvs
299307
secrets: inherit
300308
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/25.12
301309
with:
302310
build_type: pull-request
311+
node_type: cpu8
303312
script: ci/build_wheel_cuvs.sh
304313
package-name: cuvs
305314
package-type: python
315+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
306316
wheel-tests-cuvs:
307317
needs: [wheel-build-cuvs, changed-files]
308318
secrets: inherit
@@ -311,6 +321,7 @@ jobs:
311321
with:
312322
build_type: pull-request
313323
script: ci/test_wheel_cuvs.sh
324+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
314325
devcontainer:
315326
secrets: inherit
316327
needs: telemetry-setup

.github/workflows/test.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ jobs:
4141
date: ${{ inputs.date }}
4242
script: ci/test_cpp.sh
4343
sha: ${{ inputs.sha }}
44+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
4445
conda-python-tests:
4546
secrets: inherit
4647
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@release/25.12
@@ -50,6 +51,7 @@ jobs:
5051
date: ${{ inputs.date }}
5152
script: ci/test_python.sh
5253
sha: ${{ inputs.sha }}
54+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
5355
conda-java-tests:
5456
secrets: inherit
5557
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@release/25.12
@@ -70,6 +72,7 @@ jobs:
7072
arch: "amd64"
7173
container_image: "rapidsai/ci-conda:25.12-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
7274
script: "ci/test_java.sh"
75+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
7376
wheel-tests-cuvs:
7477
secrets: inherit
7578
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@release/25.12
@@ -79,3 +82,4 @@ jobs:
7982
date: ${{ inputs.date }}
8083
sha: ${{ inputs.sha }}
8184
script: ci/test_wheel_cuvs.sh
85+
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN

ci/build_cpp.sh

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
set -euo pipefail
66

77
source rapids-configure-sccache
8-
98
source rapids-date-string
109

1110
export CMAKE_GENERATOR=Ninja
@@ -14,8 +13,7 @@ rapids-print-env
1413

1514
rapids-logger "Begin cpp build"
1615

17-
sccache --zero-stats
18-
16+
sccache --stop-server 2>/dev/null || true
1917

2018
RAPIDS_PACKAGE_VERSION=$(rapids-generate-version)
2119
export RAPIDS_PACKAGE_VERSION
@@ -35,6 +33,7 @@ rattler-build build --recipe conda/recipes/libcuvs \
3533
"${RATTLER_CHANNELS[@]}"
3634

3735
sccache --show-adv-stats
36+
sccache --stop-server >/dev/null 2>&1 || true
3837

3938
# remove build_cache directory
4039
rm -rf "$RAPIDS_CONDA_BLD_OUTPUT_DIR"/build_cache

ci/build_java.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44

55
set -euo pipefail
66

7+
source rapids-configure-sccache
8+
9+
export SCCACHE_S3_KEY_PREFIX="cuvs-java/${RAPIDS_CONDA_ARCH}/cuda${RAPIDS_CUDA_VERSION%%.*}/maven/objects-cache"
10+
export SCCACHE_S3_PREPROCESSOR_CACHE_KEY_PREFIX="cuvs-java/${RAPIDS_CONDA_ARCH}/cuda${RAPIDS_CUDA_VERSION%%.*}/maven/preprocessor-cache"
11+
export SCCACHE_S3_USE_PREPROCESSOR_CACHE_MODE=true
12+
713
# TODO: Remove this argument-handling when build and test workflows are separated,
814
# and test_java.sh no longer calls build_java.sh
915
# ref: https://github.com/rapidsai/cuvs/issues/868
@@ -49,5 +55,8 @@ export RAPIDS_CUDA_MAJOR
4955

5056
bash ./build.sh java "${EXTRA_BUILD_ARGS[@]}"
5157

58+
sccache --show-adv-stats
59+
sccache --stop-server >/dev/null 2>&1 || true
60+
5261
rapids-logger "Test script exiting with value: $EXITCODE"
5362
exit ${EXITCODE}

ci/build_python.sh

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
set -euo pipefail
66

77
source rapids-configure-sccache
8-
98
source rapids-date-string
109

1110
export CMAKE_GENERATOR=Ninja
@@ -20,20 +19,17 @@ version=$(rapids-generate-version)
2019
export RAPIDS_PACKAGE_VERSION=${version}
2120
echo "${version}" > VERSION
2221

23-
sccache --zero-stats
24-
25-
2622
# populates `RATTLER_CHANNELS` array and `RATTLER_ARGS` array
2723
source rapids-rattler-channel-string
2824

2925
rapids-logger "Prepending channel ${CPP_CHANNEL} to RATTLER_CHANNELS"
3026

3127
RATTLER_CHANNELS=("--channel" "${CPP_CHANNEL}" "${RATTLER_CHANNELS[@]}")
3228

33-
sccache --zero-stats
34-
3529
rapids-logger "Building cuvs"
3630

31+
sccache --stop-server 2>/dev/null || true
32+
3733
# --no-build-id allows for caching with `sccache`
3834
# more info is available at
3935
# https://rattler.build/latest/tips_and_tricks/#using-sccache-or-ccache-with-rattler-build
@@ -42,15 +38,15 @@ rattler-build build --recipe conda/recipes/cuvs \
4238
"${RATTLER_CHANNELS[@]}"
4339

4440
sccache --show-adv-stats
45-
sccache --zero-stats
41+
sccache --stop-server >/dev/null 2>&1 || true
4642

4743
rattler-build build --recipe conda/recipes/cuvs-bench \
4844
--test skip \
4945
"${RATTLER_ARGS[@]}" \
5046
"${RATTLER_CHANNELS[@]}"
5147

5248
sccache --show-adv-stats
53-
sccache --zero-stats
49+
sccache --stop-server >/dev/null 2>&1 || true
5450

5551
# Build cuvs-bench-cpu only in one CUDA major version since it only depends on
5652
# python version
@@ -60,4 +56,5 @@ if [[ ${RAPIDS_CUDA_MAJOR} == "13" ]]; then
6056
"${RATTLER_ARGS[@]}" \
6157
"${RATTLER_CHANNELS[@]}"
6258
sccache --show-adv-stats
59+
sccache --stop-server >/dev/null 2>&1 || true
6360
fi

ci/build_rust.sh

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/bash
2-
# SPDX-FileCopyrightText: Copyright (c) 2024, NVIDIA CORPORATION.
2+
# SPDX-FileCopyrightText: Copyright (c) 2024-2025, NVIDIA CORPORATION.
33
# SPDX-License-Identifier: Apache-2.0
44

55
set -euo pipefail
@@ -25,8 +25,20 @@ set +eu
2525
conda activate rust
2626
set -eu
2727

28+
source rapids-configure-sccache
29+
30+
# Don't use the build cluster because conda rust toolchains are too large
31+
export SCCACHE_NO_DIST_COMPILE=1
32+
export SCCACHE_S3_KEY_PREFIX="cuvs-rs/${RAPIDS_CONDA_ARCH}/cuda${RAPIDS_CUDA_VERSION%%.*}"
33+
export SCCACHE_S3_PREPROCESSOR_CACHE_KEY_PREFIX="cuvs-rs/${RAPIDS_CONDA_ARCH}/cuda${RAPIDS_CUDA_VERSION%%.*}/wheel/preprocessor-cache"
34+
export SCCACHE_S3_USE_PREPROCESSOR_CACHE_MODE=true
35+
2836
rapids-print-env
2937

38+
rapids-logger "Begin rust build"
39+
40+
sccache --stop-server 2>/dev/null || true
41+
3042
# we need to set up LIBCLANG_PATH to allow rust bindgen to work,
3143
# grab it from the conda env
3244
LIBCLANG_PATH=$(dirname "$(find /opt/conda -name libclang.so | head -n 1)")
@@ -35,6 +47,9 @@ echo "LIBCLANG_PATH=$LIBCLANG_PATH"
3547

3648
bash ./build.sh rust
3749

50+
sccache --show-adv-stats
51+
sccache --stop-server >/dev/null 2>&1 || true
52+
3853
# Also test out that we can publish cuvs-sys via a dry-run
3954
pushd ./rust/cuvs-sys
4055
cargo publish --dry-run

0 commit comments

Comments
 (0)