Skip to content

Commit 96be825

Browse files
authored
Containerize standalone tarball build (#2595)
Replaces #2443 Containerizes the process of building the standalone C library tarballs The starting point for this PR is @cjnolet 's work in #2443, where he wrote this description: > _This PR is based on @msarahan's original POC, with the logic of the ci sript moved into build.sh and invoked through the CI script. The readme is also moved into the build and install guide in the docs._ Changes relative to that PR: * threads `PARALLEL_LEVEL` throught so builds are parallelized * enables the build cluster (`sccache-dist`) in CI * simplifies configuration flow (e.g. reduced duplication of default values, removal of unnecessary flexibility) * makes flow of AWS creds for `sccache` more secure * removes unnecessary configuration * removes unnecessary package installs, consolidates package installs * removes an unnecessary `git clone` of https://github.com/rapidsai/spdx-license-builder * enables `sccache` in CI and with a pattern that could work locally (will share details privately) * updates GitHub Actions third-party actions to their latest versions ## Notes for Reviewers ### How I tested this Locally tried each of the new commands added to `build.md`, with `sccache` enabled. Tried just `build.sh` without `sccache` enabled (that takes a lot longer to run). <details><summary>code for flipping between those (click me)</summary> ```shell # enabling sccache export CI=true # (private steps setting up 'sccache' profile) AWS_ACCESS_KEY_ID=$( aws configure get aws_access_key_id \ --profile sccache ) AWS_SECRET_ACCESS_KEY=$( aws configure get aws_secret_access_key \ --profile sccache ) AWS_SESSION_TOKEN=$( aws configure get aws_session_token \ --profile sccache ) export AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN # testing without 'sccache' unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN CI ``` </details> ```shell clean() { sudo rm -rf ./{build,c/build/,cpp/build,libcuvs_c.tar.gz} } # all defaults clean ./build.sh tarball # customizing base image clean CUVS_TARBALL_CUDA_VERSION=12.9.2 \ CUVS_TARBALL_PYTHON_VERSION=3.11 \ ./build.sh tarball # customizing output directory, building tests clean CUVS_TARBALL_BUILD_OUTPUT_DIR="${PWD}/dist" ./build.sh tarball --tarball-build-tests # manual run (no build.sh) clean docker build \ -f Dockerfile.standalone \ --build-arg CUDA_VERSION="13.3.0" \ --build-arg PYTHON_VERSION="3.14" \ --build-arg RAPIDS_VERSION="$(head -1 ./VERSION | cut -d. -f1,2 )" \ -t cuvs-standalone-c:local \ . mkdir -p "${PWD}/dist" docker run --rm \ -v "${PWD}:/workspace" \ -v "${PWD}/dist:/build" \ cuvs-standalone-c:local --tarball-build-tests ``` Saw high cache hit rates from `sccache` and everything working as expected. Also looked at CI logs and saw that fully-cached jobs take around 30 minutes, pretty similar to the timings in CI today. Authors: - James Lamb (https://github.com/jameslamb) Approvers: - Mike Sarahan (https://github.com/msarahan) - Corey J. Nolet (https://github.com/cjnolet) URL: #2595
1 parent e69606b commit 96be825

10 files changed

Lines changed: 342 additions & 78 deletions

File tree

.github/workflows/build.yaml

Lines changed: 39 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -61,34 +61,54 @@ jobs:
6161
contents: read
6262
uses: rapidsai/shared-workflows/.github/workflows/compute-matrix.yaml@release/26.10
6363
with:
64-
build_type: pull-request
64+
build_type: ${{ inputs.build_type || 'branch' }}
6565
matrix_name: conda-cpp-build
6666
rocky8-clib-standalone-build:
67-
needs: [build-details, rocky8-clib-standalone-build-matrix]
67+
needs: [rocky8-clib-standalone-build-matrix]
68+
runs-on: linux-${{ matrix.ARCH }}-cpu16
69+
env:
70+
RAPIDS_BUILD_TYPE: ${{ inputs.build_type || 'branch' }}
6871
permissions:
6972
actions: read
7073
contents: read
7174
id-token: write
7275
packages: read
7376
pull-requests: read
74-
secrets: inherit # zizmor: ignore[secrets-inherit]
75-
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@release/26.10
7677
strategy:
7778
fail-fast: false
7879
matrix: ${{ fromJSON(needs.rocky8-clib-standalone-build-matrix.outputs.matrix) }}
79-
with:
80-
build_type: ${{ inputs.build_type || 'branch' }}
81-
build-datetime: ${{ needs.build-details.outputs.build-datetime }}
82-
branch: ${{ inputs.branch }}
83-
arch: "${{matrix.ARCH}}"
84-
date: ${{ inputs.date }}
85-
container_image: "rapidsai/ci-wheel:26.10-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}"
86-
node_type: "cpu16"
87-
requires_license_builder: true
88-
script: "ci/build_standalone_c.sh"
89-
artifact-name: "libcuvs_c_${{ matrix.CUDA_VER }}_${{ matrix.ARCH }}.tar.gz"
90-
file_to_upload: "libcuvs_c.tar.gz"
91-
sha: ${{ inputs.sha }}
80+
steps:
81+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
82+
with:
83+
ref: ${{ inputs.sha || github.sha }}
84+
fetch-depth: 0
85+
persist-credentials: false
86+
- name: Standardize repository information
87+
uses: rapidsai/shared-actions/rapids-github-info@main
88+
with:
89+
branch: ${{ inputs.branch }}
90+
date: ${{ inputs.date }}
91+
sha: ${{ inputs.sha }}
92+
- uses: aws-actions/configure-aws-credentials@cbe3b392738ccf3f987d68400dafcf4b0624a56c # v6.2.4
93+
with:
94+
role-to-assume: ${{ vars.AWS_ROLE_ARN }}
95+
aws-region: ${{ vars.AWS_REGION }}
96+
role-duration-seconds: 10800
97+
- name: Setup sccache-dist
98+
uses: rapidsai/shared-actions/setup-sccache-dist@main
99+
with:
100+
request-timeout: 7140
101+
- name: Build standalone C tarball
102+
env:
103+
CUVS_TARBALL_CUDA_VERSION: ${{ matrix.CUDA_VER }}
104+
CUVS_TARBALL_PYTHON_VERSION: ${{ matrix.PY_VER }}
105+
run: |
106+
./build.sh tarball --tarball-build-tests
107+
- name: Upload artifacts
108+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
109+
with:
110+
name: libcuvs_c_${{ matrix.CUDA_VER }}_${{ matrix.ARCH }}.tar.gz
111+
path: libcuvs_c.tar.gz
92112
rust-build-matrix:
93113
needs: cpp-build
94114
permissions:
@@ -128,7 +148,7 @@ jobs:
128148
contents: read
129149
uses: rapidsai/shared-workflows/.github/workflows/compute-matrix.yaml@release/26.10
130150
with:
131-
build_type: pull-request
151+
build_type: ${{ inputs.build_type || 'branch' }}
132152
matrix_name: conda-cpp-build
133153
matrix_filter: map(select(.ARCH == "amd64"))
134154
go-build:
@@ -161,7 +181,7 @@ jobs:
161181
contents: read
162182
uses: rapidsai/shared-workflows/.github/workflows/compute-matrix.yaml@release/26.10
163183
with:
164-
build_type: pull-request
184+
build_type: ${{ inputs.build_type || 'branch' }}
165185
matrix_name: conda-cpp-build
166186
matrix_filter: map(select(.ARCH == "amd64"))
167187
java-build:

.github/workflows/pr.yaml

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -563,30 +563,45 @@ jobs:
563563
build_type: pull-request
564564
matrix_name: conda-cpp-build
565565
rocky8-clib-standalone-build:
566-
needs: [build-details, rocky8-clib-standalone-build-matrix]
566+
needs: [rocky8-clib-standalone-build-matrix]
567+
runs-on: linux-${{ matrix.ARCH }}-cpu16
568+
env:
569+
RAPIDS_BUILD_TYPE: pull-request
567570
permissions:
568571
actions: read
569572
contents: read
570573
id-token: write
571574
packages: read
572575
pull-requests: read
573-
secrets: inherit # zizmor: ignore[secrets-inherit]
574-
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@release/26.10
575576
strategy:
576577
fail-fast: false
577578
matrix: ${{ fromJSON(needs.rocky8-clib-standalone-build-matrix.outputs.matrix) }}
578-
with:
579-
build_type: pull-request
580-
build-datetime: ${{ needs.build-details.outputs.build-datetime }}
581-
arch: "${{matrix.arch}}"
582-
date: ${{ inputs.date }}_c
583-
container_image: "rapidsai/ci-wheel:26.10-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}"
584-
node_type: "cpu16"
585-
requires_license_builder: true
586-
script: "ci/build_standalone_c.sh --build-tests"
587-
artifact-name: "libcuvs_c_${{ matrix.CUDA_VER }}_${{ matrix.ARCH }}.tar.gz"
588-
file_to_upload: "libcuvs_c.tar.gz"
589-
sha: ${{ inputs.sha }}
579+
steps:
580+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
581+
with:
582+
ref: ${{ inputs.sha || github.sha }}
583+
fetch-depth: 0
584+
persist-credentials: false
585+
- uses: aws-actions/configure-aws-credentials@cbe3b392738ccf3f987d68400dafcf4b0624a56c # v6.2.4
586+
with:
587+
role-to-assume: ${{ vars.AWS_ROLE_ARN }}
588+
aws-region: ${{ vars.AWS_REGION }}
589+
role-duration-seconds: 10800
590+
- name: Setup sccache-dist
591+
uses: rapidsai/shared-actions/setup-sccache-dist@main
592+
with:
593+
request-timeout: 7140
594+
- name: Build standalone C tarball
595+
env:
596+
CUVS_TARBALL_CUDA_VERSION: ${{ matrix.CUDA_VER }}
597+
CUVS_TARBALL_PYTHON_VERSION: ${{ matrix.PY_VER }}
598+
run: |
599+
./build.sh tarball --tarball-build-tests
600+
- name: Upload artifacts
601+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
602+
with:
603+
name: libcuvs_c_${{ matrix.CUDA_VER }}_${{ matrix.ARCH }}.tar.gz
604+
path: libcuvs_c.tar.gz
590605
rocky8-clib-tests-matrix:
591606
needs: [rocky8-clib-standalone-build, changed-files]
592607
permissions:

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ dist/
1919
python/**/**/*.cpp
2020
python/cuvs/record.txt
2121
log
22+
infrequent_licenses/
2223
.ipynb_checkpoints
2324
.DS_Store
2425
dask-worker-space/
@@ -29,6 +30,7 @@ temporary_*.json
2930
rust/target/
3031
rust/Cargo.lock
3132
rmm_log.txt
33+
*.tar.gz
3234

3335
## example notebooks
3436
notebooks/simplewiki-2020-11-01-nq-distilbert-base-v1.pt

Dockerfile.standalone

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
#
4+
# Environment and runner for the standalone C build.
5+
#
6+
# End-user instructions: https://docs.nvidia.com/cuvs/installation#build-the-standalone-c-library-with-docker
7+
8+
ARG CUDA_VERSION=notset
9+
ARG PYTHON_VERSION=notset
10+
ARG RAPIDS_VERSION=notset
11+
FROM rapidsai/ci-wheel:${RAPIDS_VERSION}-cuda${CUDA_VERSION}-rockylinux8-py${PYTHON_VERSION}
12+
13+
# Output directory for the standalone archive. Bind-mount a host folder here
14+
# (e.g. -v $(pwd)/build:/build) so libcuvs_c.tar.gz is written to the host.
15+
ENV CUVS_TARBALL_BUILD_OUTPUT_DIR=/build
16+
ENV CUVS_TARBALL_IN_CONTAINER=1
17+
18+
# Run from repo root; the repo is expected to be bind-mounted at /workspace.
19+
WORKDIR /workspace
20+
21+
# Run the build script, which writes the standalone tarball to the mounted output dir.
22+
# Example: docker run -v $(pwd):/workspace -v $(pwd)/build:/build cuvs-standalone-c [--tarball-build-tests]
23+
ENTRYPOINT ["/bin/bash", "-c", "ci/standalone_c/build_standalone_c.sh \"$@\"", "--"]

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ cuVS comes with pre-built packages that can be installed through [conda](https:/
8484
8585
Please see the [Build and Install Guide](https://docs.rapids.ai/api/cuvs/nightly/build/) for more information on installing the available cuVS packages and building from source.
8686

87+
### Standalone C library (Docker)
88+
89+
To build the standalone C library tarball (`libcuvs_c.tar.gz`) for use in your own C/C++ projects, see **[Building the standalone C library with Docker](https://docs.nvidia.com/cuvs/installation#build-the-standalone-c-library-with-docker)**.
90+
8791
## Getting Started
8892

8993
The following code snippets train an approximate nearest neighbors index for the CAGRA algorithm in the various different languages supported by cuVS.

build.sh

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ ARGS=$*
1919
# scripts, and that this script resides in the repo dir!
2020
REPODIR=$(cd "$(dirname "$0")"; pwd)
2121

22-
VALIDARGS="clean libcuvs python rust go java lucene docs tests bench-ann examples --uninstall -v -g -n --allgpuarch --no-mg --mnmg-tests --no-cpu --cpu-only --no-shared-libs --no-nvtx --show_depr_warn --incl-cache-stats --time -h --run-java-tests --build-java-examples"
22+
VALIDARGS="clean libcuvs python rust go java lucene docs tests bench-ann examples tarball --tarball-build-tests --uninstall -v -g -n --allgpuarch --no-mg --mnmg-tests --no-cpu --cpu-only --no-shared-libs --no-nvtx --show_depr_warn --incl-cache-stats --time -h --run-java-tests --build-java-examples"
2323
HELP="$0 [<target> ...] [<flag> ...] [--cmake-args=\"<args>\"] [--cache-tool=<tool>] [--limit-tests=<targets>] [--limit-bench-ann=<targets>] [--build-metrics=<filename>]
2424
where <target> is:
2525
clean - remove all existing build artifacts and configuration (start over)
@@ -34,6 +34,7 @@ HELP="$0 [<target> ...] [<flag> ...] [--cmake-args=\"<args>\"] [--cache-tool=<to
3434
tests - build the tests
3535
bench-ann - build end-to-end ann benchmarks
3636
examples - build the examples
37+
tarball - build the standalone C library tarball with Docker
3738
3839
and <flag> is:
3940
-v - verbose build mode
@@ -59,6 +60,7 @@ HELP="$0 [<target> ...] [<flag> ...] [--cmake-args=\"<args>\"] [--cache-tool=<to
5960
--run-java-tests - run Java tests after building
6061
--build-java-examples - also build the examples/java/cuvs-java and examples/java/cuvs-lucene
6162
projects against the jars just built (with the 'java'/'lucene' targets)
63+
--tarball-build-tests - include the C library tests in the standalone tarball
6264
--build-metrics - filename for generating build metrics report for libcuvs
6365
--incl-cache-stats - include cache statistics in build metrics report
6466
--cmake-args=\\\"<args>\\\" - pass arbitrary list of CMake configuration options (escape all quotes in argument)
@@ -607,3 +609,56 @@ if hasArg examples; then
607609
./build.sh
608610
popd
609611
fi
612+
613+
################################################################################
614+
# Build the standalone C library tarball (if requested)
615+
616+
if hasArg tarball; then
617+
if [[ "${CUVS_TARBALL_IN_CONTAINER:-0}" == "1" ]]; then
618+
CUVS_TARBALL_BUILD_OUTPUT_DIR="${CUVS_TARBALL_BUILD_OUTPUT_DIR:-${REPODIR}}"
619+
tar czf "${CUVS_TARBALL_BUILD_OUTPUT_DIR}/libcuvs_c.tar.gz" -C "${REPODIR}/c/build/install" .
620+
else
621+
CUVS_TARBALL_CUDA_VERSION="${CUVS_TARBALL_CUDA_VERSION:-13.3.0}"
622+
CUVS_TARBALL_PYTHON_VERSION="${CUVS_TARBALL_PYTHON_VERSION:-3.14}"
623+
CUVS_TARBALL_BUILD_OUTPUT_DIR="${CUVS_TARBALL_BUILD_OUTPUT_DIR:-${REPODIR}/build}"
624+
CUVS_TARBALL_IMAGE_NAME="nvidia/cuvs-standalone-c:local-cuda${CUVS_TARBALL_CUDA_VERSION}-py${CUVS_TARBALL_PYTHON_VERSION}"
625+
626+
mkdir -p "${CUVS_TARBALL_BUILD_OUTPUT_DIR}"
627+
BUILD_OUTPUT_DIR_ABS=$(realpath "${CUVS_TARBALL_BUILD_OUTPUT_DIR}")
628+
629+
echo "Building Docker image ${CUVS_TARBALL_IMAGE_NAME} (CUDA ${CUVS_TARBALL_CUDA_VERSION}, Python ${CUVS_TARBALL_PYTHON_VERSION})..."
630+
docker build \
631+
-f "${REPODIR}/Dockerfile.standalone" \
632+
--build-arg CUDA_VERSION="${CUVS_TARBALL_CUDA_VERSION}" \
633+
--build-arg PYTHON_VERSION="${CUVS_TARBALL_PYTHON_VERSION}" \
634+
--build-arg RAPIDS_VERSION="${RAPIDS_VERSION_MAJOR_MINOR}" \
635+
-t "${CUVS_TARBALL_IMAGE_NAME}" \
636+
"${REPODIR}"
637+
638+
# optionally pass additional arguments through to the container's entrypoint
639+
DOCKER_ENTRYPOINT_ARGS=()
640+
if hasArg --tarball-build-tests; then
641+
DOCKER_ENTRYPOINT_ARGS+=(--tarball-build-tests)
642+
fi
643+
644+
echo "Running standalone C build in container..."
645+
# NOTE: the '--env-file' trick for AWS credentials keeps them out of 'ps aux' / 'docker ps' output
646+
docker run \
647+
--rm \
648+
-v "${REPODIR}:/workspace:rw" \
649+
-v "${BUILD_OUTPUT_DIR_ABS}:/build:rw" \
650+
--env CI="${CI:-false}" \
651+
--env PARALLEL_LEVEL="${PARALLEL_LEVEL}" \
652+
--env RAPIDS_BUILD_TYPE="${RAPIDS_BUILD_TYPE:-}" \
653+
--env-file <(env | grep -E '^AWS_(ACCESS_KEY_ID|SECRET_ACCESS_KEY|SESSION_TOKEN)=') \
654+
--env-file <(env | grep -E '^SCCACHE_.*=') \
655+
"${CUVS_TARBALL_IMAGE_NAME}" \
656+
"${DOCKER_ENTRYPOINT_ARGS[@]}"
657+
658+
cp -v "${BUILD_OUTPUT_DIR_ABS}/libcuvs_c.tar.gz" "${REPODIR}/libcuvs_c.tar.gz"
659+
echo "Copied libcuvs_c.tar.gz to ${REPODIR}/libcuvs_c.tar.gz"
660+
fi
661+
662+
# print contents of the tarball
663+
ls -lh "${CUVS_TARBALL_BUILD_OUTPUT_DIR}/libcuvs_c.tar.gz"
664+
fi
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,47 @@
11
#!/bin/bash
22
# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
33
# SPDX-License-Identifier: Apache-2.0
4+
#
5+
# Build script for the standalone C library.
6+
#
7+
# Use 'Dockerfile.standalone' to build an image with all the prerequisites
8+
# and run this in a container.
49

510
set -euo pipefail
611

12+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
13+
REPO_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)"
14+
715
TOOLSET_VERSION=14
8-
NINJA_VERSION=v1.13.1
916

1017
BUILD_C_LIB_TESTS="OFF"
11-
if [[ "${1:-}" == "--build-tests" ]]; then
18+
if [[ "${1:-}" == "--tarball-build-tests" ]]; then
1219
BUILD_C_LIB_TESTS="ON"
1320
fi
1421

15-
dnf install -y \
16-
patch \
17-
tar \
18-
unzip \
19-
wget
20-
21-
if ! command -V ninja >/dev/null 2>&1; then
22-
case "$(uname -m)" in
23-
x86_64)
24-
wget --no-hsts -q -O /tmp/ninja-linux.zip "https://github.com/ninja-build/ninja/releases/download/${NINJA_VERSION}/ninja-linux.zip";
25-
;;
26-
aarch64)
27-
wget --no-hsts -q -O /tmp/ninja-linux.zip "https://github.com/ninja-build/ninja/releases/download/${NINJA_VERSION}/ninja-linux-aarch64.zip";
28-
;;
29-
*)
30-
echo "Unrecognized platform '$(uname -m)'" >&2
31-
exit 1
32-
;;
33-
esac
34-
unzip -d /usr/bin /tmp/ninja-linux.zip
35-
chmod +x /usr/bin/ninja
36-
rm /tmp/ninja-linux.zip
37-
fi
38-
3922
source rapids-install-sccache
4023
source rapids-configure-sccache
41-
source rapids-datetime-string
4224

43-
rapids-pip-retry install cmake
25+
PIP_PACKAGES=(
26+
'cmake>=4.0'
27+
'git+https://github.com/rapidsai/spdx-license-builder.git'
28+
'ninja>=1.13'
29+
)
4430

4531
RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}"
4632
if [[ "${RAPIDS_CUDA_MAJOR}" == "13" ]]; then
47-
rapids-pip-retry install cuda-tile "cuda-toolkit[tileiras]==${RAPIDS_CUDA_VERSION%.*}.*"
33+
PIP_PACKAGES+=(
34+
cuda-tile
35+
)
4836
fi
4937

38+
rapids-pip-retry install "${PIP_PACKAGES[@]}"
5039
pyenv rehash
5140

52-
rapids-print-env
53-
5441
rapids-logger "Begin cpp build"
5542

5643
sccache --stop-server 2>/dev/null || true
5744

58-
RAPIDS_PACKAGE_VERSION=$(rapids-generate-version)
59-
export RAPIDS_PACKAGE_VERSION
60-
61-
RAPIDS_ARTIFACTS_DIR=${RAPIDS_ARTIFACTS_DIR:-"${PWD}/artifacts"}
62-
mkdir -p "${RAPIDS_ARTIFACTS_DIR}"
63-
export RAPIDS_ARTIFACTS_DIR
64-
6545
scl enable gcc-toolset-${TOOLSET_VERSION} -- \
6646
cmake -S cpp -B cpp/build/ -GNinja \
6747
-DCMAKE_CUDA_HOST_COMPILER=/opt/rh/gcc-toolset-${TOOLSET_VERSION}/root/usr/bin/gcc \
@@ -107,11 +87,8 @@ if [ "${BUILD_C_LIB_TESTS}" != "OFF" ]; then
10787
cmake --install c/build --prefix c/build/install --component testing
10888
fi
10989

110-
11190
rapids-logger "Begin gathering licenses"
112-
rapids-pip-retry install git+https://github.com/rapidsai/spdx-license-builder.git
11391
license-builder . --output-json c/build/install/licenses.json --output-txt c/build/install/LICENSE
11492

11593
rapids-logger "Begin c tarball creation"
116-
tar czf libcuvs_c.tar.gz -C c/build/install/ .
117-
ls -lh libcuvs_c.tar.gz
94+
"${REPO_ROOT}/build.sh" tarball

0 commit comments

Comments
 (0)