Portable standalone tarball build with Docker - #2443
Conversation
b61beb0 to
3b6132c
Compare
|
/ok to test 0743a95 |
|
/ok to test 05fbbfe |
|
/ok to test 472089c |
|
/ok to test 266bd65 |
|
/ok to test 04c2e2b |
|
/ok to test a0e7f83 |
|
/ok to test 4430d5e |
1 similar comment
|
/ok to test 4430d5e |
jameslamb
left a comment
There was a problem hiding this comment.
Spent some time with this today. In general, I think it'd benefit from a pass for strictness... I feel that the current state has a lot of unnecessary flexibility and indirection. "a lot" = "so much that it makes it hard to understand the flow of configuration"
After that, it's worth trying out the commands in the docs again (I tried and a few failed).
I tested like this:
$ CUDA_VERSION=12.9.2 PYTHON_VERSION=3.11 ./build.sh tarballThat succeeded and produced a tarball. Its layout looks right to me, assuming that it's expected that the SOVERSION is 1.4 (libcuvs_c.so.1.4).
tarball contents (click me)
$ tar -tvf ./libcuvs_c.tar.gz
drwxr-xr-x root/root 0 2026-08-14 15:52 ./
drwxr-xr-x root/root 0 2026-08-14 15:52 ./lib64/
lrwxrwxrwx root/root 0 2026-08-14 15:52 ./lib64/libcuvs_c.so.1 -> libcuvs_c.so.1.4
lrwxrwxrwx root/root 0 2026-08-14 15:52 ./lib64/libcuvs_c.so -> libcuvs_c.so.1
drwxr-xr-x root/root 0 2026-08-14 15:52 ./lib64/cmake/
drwxr-xr-x root/root 0 2026-08-14 15:52 ./lib64/cmake/cuvs/
-rw-r--r-- root/root 835 2026-08-14 15:52 ./lib64/cmake/cuvs/cuvs-c_api-c-targets-release.cmake
-rw-r--r-- root/root 3681 2026-08-14 15:52 ./lib64/cmake/cuvs/cuvs-config-version.cmake
-rw-r--r-- root/root 7309 2026-08-14 15:52 ./lib64/cmake/cuvs/cuvs-config.cmake
-rw-r--r-- root/root 766 2026-08-14 15:52 ./lib64/cmake/cuvs/cuvs-dependencies.cmake
-rw-r--r-- root/root 4036 2026-08-14 15:52 ./lib64/cmake/cuvs/cuvs-targets.cmake
-rw-r--r-- root/root 4264 2026-08-14 15:52 ./lib64/cmake/cuvs/cuvs-c_api-c-targets.cmake
-rwxr-xr-x root/root 392490568 2026-08-14 15:52 ./lib64/libcuvs_c.so.1.4
drwxr-xr-x root/root 0 2026-08-14 15:52 ./include/
drwxr-xr-x root/root 0 2026-08-14 15:52 ./include/cuvs/
drwxr-xr-x root/root 0 2026-08-14 15:52 ./include/cuvs/preprocessing/
-rw-r--r-- root/root 8918 2026-07-10 10:06 ./include/cuvs/preprocessing/pca.h
drwxr-xr-x root/root 0 2026-08-14 15:52 ./include/cuvs/preprocessing/quantize/
-rw-r--r-- root/root 7525 2026-05-15 15:03 ./include/cuvs/preprocessing/quantize/pq.h
-rw-r--r-- root/root 3752 2026-05-15 15:03 ./include/cuvs/preprocessing/quantize/scalar.h
-rw-r--r-- root/root 4428 2026-05-15 15:03 ./include/cuvs/preprocessing/quantize/binary.h
drwxr-xr-x root/root 0 2026-08-14 15:52 ./include/cuvs/distance/
-rw-r--r-- root/root 1585 2026-05-15 15:03 ./include/cuvs/distance/pairwise_distance.h
-rw-r--r-- root/root 1593 2026-05-15 15:03 ./include/cuvs/distance/distance.h
drwxr-xr-x root/root 0 2026-08-14 15:52 ./include/cuvs/cluster/
-rw-r--r-- root/root 7687 2026-08-03 15:21 ./include/cuvs/cluster/kmeans.h
-rw-r--r-- root/root 2265 2026-08-03 15:21 ./include/cuvs/cluster/mg_kmeans.h
drwxr-xr-x root/root 0 2026-08-14 15:52 ./include/cuvs/neighbors/
-rw-r--r-- root/root 7403 2026-05-15 15:03 ./include/cuvs/neighbors/mg_ivf_pq.h
-rw-r--r-- root/root 1754 2026-05-15 15:03 ./include/cuvs/neighbors/refine.h
-rw-r--r-- root/root 19917 2026-05-15 15:03 ./include/cuvs/neighbors/hnsw.h
-rw-r--r-- root/root 1648 2026-08-03 15:21 ./include/cuvs/neighbors/common.h
-rw-r--r-- root/root 8057 2026-05-15 15:03 ./include/cuvs/neighbors/tiered_index.h
-rw-r--r-- root/root 7265 2026-05-15 15:03 ./include/cuvs/neighbors/nn_descent.h
-rw-r--r-- root/root 40535 2026-08-03 15:21 ./include/cuvs/neighbors/cagra.h
-rw-r--r-- root/root 11124 2026-05-29 16:18 ./include/cuvs/neighbors/ivf_sq.h
-rw-r--r-- root/root 5146 2026-08-03 15:21 ./include/cuvs/neighbors/all_neighbors.h
-rw-r--r-- root/root 12520 2026-05-15 15:03 ./include/cuvs/neighbors/ivf_flat.h
-rw-r--r-- root/root 1274 2026-05-15 15:03 ./include/cuvs/neighbors/mg_common.h
-rw-r--r-- root/root 23817 2026-05-15 15:03 ./include/cuvs/neighbors/ivf_pq.h
-rw-r--r-- root/root 7104 2026-05-15 15:03 ./include/cuvs/neighbors/brute_force.h
-rw-r--r-- root/root 6389 2026-05-15 15:03 ./include/cuvs/neighbors/vamana.h
-rw-r--r-- root/root 8066 2026-08-03 15:21 ./include/cuvs/neighbors/mg_cagra.h
-rw-r--r-- root/root 7611 2026-05-15 15:03 ./include/cuvs/neighbors/mg_ivf_flat.h
drwxr-xr-x root/root 0 2026-08-14 15:52 ./include/cuvs/selection/
-rw-r--r-- root/root 1267 2026-08-03 15:21 ./include/cuvs/selection/select_k.h
drwxr-xr-x root/root 0 2026-08-14 15:52 ./include/cuvs/core/
-rw-r--r-- root/root 3813 2026-08-03 15:21 ./include/cuvs/core/dataset.h
-rw-r--r-- root/root 635 2026-05-15 15:03 ./include/cuvs/core/export.h
-rw-r--r-- root/root 1424 2026-08-03 15:21 ./include/cuvs/core/all.h
-rw-r--r-- root/root 167 2026-08-14 15:52 ./include/cuvs/core/c_config.h
-rw-r--r-- root/root 11809 2026-08-03 15:21 ./include/cuvs/core/c_api.h
-rw-r--r-- root/root 3164590 2026-08-14 15:52 ./licenses.json
-rw-r--r-- root/root 61212 2026-08-14 15:52 ./LICENSEI'd be happy to review again and to look more closely at the CI side of this once my suggestions have been addressed.
| }, | ||
| "cacheFrom": [ | ||
| "ghcr.io/rapidsai/cuvs/devcontainer:26.08-cuda12.9-conda" | ||
| "ghcr.io/rapidsai/cuvs/devcontainer:26.10-cuda12.9-conda" |
There was a problem hiding this comment.
These references being there on main means ci/release/update-version.sh is missing some update rules. I'll put up a separate PR for that, and then these files can drop out out of the diff.
There was a problem hiding this comment.
Thank you. yeah I happened to notice them as i was looking through the branch so figured I'd make the changes here too.
|
Oh one other thing... after running locally, these files are untracked: $ git status
infrequent_licenses/
libcuvs_c.tar.gzI think it'd be worthwhile to add |
Co-authored-by: James Lamb <jaylamb20@gmail.com>
Co-authored-by: James Lamb <jaylamb20@gmail.com>
Co-authored-by: James Lamb <jaylamb20@gmail.com>
Co-authored-by: James Lamb <jaylamb20@gmail.com>
Co-authored-by: James Lamb <jaylamb20@gmail.com>
Co-authored-by: James Lamb <jaylamb20@gmail.com>
Co-authored-by: James Lamb <jaylamb20@gmail.com>
Co-authored-by: James Lamb <jaylamb20@gmail.com>
Co-authored-by: James Lamb <jaylamb20@gmail.com>
Co-authored-by: James Lamb <jaylamb20@gmail.com>
|
/ok to test 1ba4f83 |
1 similar comment
|
/ok to test 1ba4f83 |
|
/ok to testr f812e92 |
|
/ok to test f812e92 |
|
/ok to test d073064 |
@cjnolet, there was an error processing your request: See the following link for more information: https://docs.gha-runners.nvidia.com/cpr/e/2/ |
|
/ok to test de7e247 |
| pyenv rehash | ||
| # rapids-configure-sccache enables anonymous S3 access by default. CI forwards | ||
| # temporary AWS credentials, and sccache rejects both modes at once. | ||
| if [[ -n "${AWS_ACCESS_KEY_ID:-}" ]]; then |
There was a problem hiding this comment.
@jameslamb I admit I don't know enough about this SCCACHE_S3_NO_CREDENTIALS parameter, but I did get a failure in CI and asked codex to fix it (this is what it did).
| SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | ||
| REPO_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)" | ||
|
|
||
| EXTRA_TARBALL_DOCKER_ARGS="--env AWS_ACCESS_KEY_ID \ |
There was a problem hiding this comment.
This seems to be the minimal set of additional args that need to be passed into docker. Please let me know if you disagree @jameslamb. I used this EXTRA_TARBALL_DOCKER_ARGS as the decoupling point.
This PR is based on @msarahan's original POC, with the logic of the ci sript moved into
build.shand invoked through the CI script. The readme is also moved into the build and install guide in the docs.