Skip to content

Commit 2124789

Browse files
authored
Refactor dependencies.yaml to use depends-on pattern. (#321)
This refactors cuvs's `dependencies.yaml` to follow a convention we've established in other repos. For RAPIDS packages we declare a `depends_on_X` dependency list, and use that rather than specifying packages multiple times. This enables more reuse and easier automation for version migrations. Authors: - Bradley Dice (https://github.com/bdice) Approvers: - James Lamb (https://github.com/jameslamb) URL: #321
1 parent c40abae commit 2124789

11 files changed

+63
-54
lines changed

ci/release/update-version.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ DEPENDENCIES=(
4545
dask-cuda
4646
cuvs
4747
pylibraft
48+
librmm
4849
rmm
4950
rapids-dask-dependency
5051
)

conda/environments/all_cuda-118_arch-aarch64.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ dependencies:
3535
- libcusolver=11.4.1.48
3636
- libcusparse-dev=11.7.5.86
3737
- libcusparse=11.7.5.86
38+
- librmm==24.10.*,>=0.0.0a0
3839
- make
3940
- nccl>=2.9.9
4041
- ninja
@@ -49,7 +50,6 @@ dependencies:
4950
- pytest==7.*
5051
- rapids-build-backend>=0.3.0,<0.4.0.dev0
5152
- recommonmark
52-
- rmm==24.10.*,>=0.0.0a0
5353
- rust
5454
- scikit-build-core>=0.10.0
5555
- scikit-learn

conda/environments/all_cuda-118_arch-x86_64.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ dependencies:
3535
- libcusolver=11.4.1.48
3636
- libcusparse-dev=11.7.5.86
3737
- libcusparse=11.7.5.86
38+
- librmm==24.10.*,>=0.0.0a0
3839
- make
3940
- nccl>=2.9.9
4041
- ninja
@@ -49,7 +50,6 @@ dependencies:
4950
- pytest==7.*
5051
- rapids-build-backend>=0.3.0,<0.4.0.dev0
5152
- recommonmark
52-
- rmm==24.10.*,>=0.0.0a0
5353
- rust
5454
- scikit-build-core>=0.10.0
5555
- scikit-learn

conda/environments/all_cuda-125_arch-aarch64.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ dependencies:
3232
- libcurand-dev
3333
- libcusolver-dev
3434
- libcusparse-dev
35+
- librmm==24.10.*,>=0.0.0a0
3536
- make
3637
- nccl>=2.9.9
3738
- ninja
@@ -45,7 +46,6 @@ dependencies:
4546
- pytest==7.*
4647
- rapids-build-backend>=0.3.0,<0.4.0.dev0
4748
- recommonmark
48-
- rmm==24.10.*,>=0.0.0a0
4949
- rust
5050
- scikit-build-core>=0.10.0
5151
- scikit-learn

conda/environments/all_cuda-125_arch-x86_64.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ dependencies:
3232
- libcurand-dev
3333
- libcusolver-dev
3434
- libcusparse-dev
35+
- librmm==24.10.*,>=0.0.0a0
3536
- make
3637
- nccl>=2.9.9
3738
- ninja
@@ -45,7 +46,6 @@ dependencies:
4546
- pytest==7.*
4647
- rapids-build-backend>=0.3.0,<0.4.0.dev0
4748
- recommonmark
48-
- rmm==24.10.*,>=0.0.0a0
4949
- rust
5050
- scikit-build-core>=0.10.0
5151
- scikit-learn

conda/environments/bench_ann_cuda-118_arch-aarch64.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ dependencies:
3333
- libcusolver=11.4.1.48
3434
- libcusparse-dev=11.7.5.86
3535
- libcusparse=11.7.5.86
36+
- librmm==24.10.*,>=0.0.0a0
3637
- matplotlib
3738
- nccl>=2.9.9
3839
- ninja
@@ -42,6 +43,5 @@ dependencies:
4243
- pandas
4344
- pylibraft==24.10.*,>=0.0.0a0
4445
- pyyaml
45-
- rmm==24.10.*,>=0.0.0a0
4646
- sysroot_linux-aarch64==2.17
4747
name: bench_ann_cuda-118_arch-aarch64

conda/environments/bench_ann_cuda-118_arch-x86_64.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ dependencies:
3333
- libcusolver=11.4.1.48
3434
- libcusparse-dev=11.7.5.86
3535
- libcusparse=11.7.5.86
36+
- librmm==24.10.*,>=0.0.0a0
3637
- matplotlib
3738
- nccl>=2.9.9
3839
- ninja
@@ -42,6 +43,5 @@ dependencies:
4243
- pandas
4344
- pylibraft==24.10.*,>=0.0.0a0
4445
- pyyaml
45-
- rmm==24.10.*,>=0.0.0a0
4646
- sysroot_linux-64==2.17
4747
name: bench_ann_cuda-118_arch-x86_64

conda/environments/bench_ann_cuda-125_arch-aarch64.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ dependencies:
3030
- libcurand-dev
3131
- libcusolver-dev
3232
- libcusparse-dev
33+
- librmm==24.10.*,>=0.0.0a0
3334
- matplotlib
3435
- nccl>=2.9.9
3536
- ninja
@@ -38,6 +39,5 @@ dependencies:
3839
- pandas
3940
- pylibraft==24.10.*,>=0.0.0a0
4041
- pyyaml
41-
- rmm==24.10.*,>=0.0.0a0
4242
- sysroot_linux-aarch64==2.17
4343
name: bench_ann_cuda-125_arch-aarch64

conda/environments/bench_ann_cuda-125_arch-x86_64.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ dependencies:
3030
- libcurand-dev
3131
- libcusolver-dev
3232
- libcusparse-dev
33+
- librmm==24.10.*,>=0.0.0a0
3334
- matplotlib
3435
- nccl>=2.9.9
3536
- ninja
@@ -38,6 +39,5 @@ dependencies:
3839
- pandas
3940
- pylibraft==24.10.*,>=0.0.0a0
4041
- pyyaml
41-
- rmm==24.10.*,>=0.0.0a0
4242
- sysroot_linux-64==2.17
4343
name: bench_ann_cuda-125_arch-x86_64

dependencies.yaml

Lines changed: 54 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ files:
1111
- build_py_cuvs
1212
- cuda
1313
- cuda_version
14+
- depends_on_pylibraft
15+
- depends_on_librmm
1416
- develop
1517
- checks
1618
- build_wheels
@@ -31,6 +33,8 @@ files:
3133
- build_py_cuvs
3234
- cuda
3335
- cuda_version
36+
- depends_on_pylibraft
37+
- depends_on_librmm
3438
- develop
3539
- bench
3640
- bench_python
@@ -93,6 +97,7 @@ files:
9397
includes:
9498
- cuda_wheels
9599
- run_py_cuvs
100+
- depends_on_pylibraft
96101
py_test_py_cuvs:
97102
output: pyproject
98103
pyproject_dir: python/cuvs
@@ -193,15 +198,7 @@ dependencies:
193198
common:
194199
- output_types: [conda]
195200
packages:
196-
- &rmm_unsuffixed rmm==24.10.*,>=0.0.0a0
197-
- &pylibraft_unsuffixed pylibraft==24.10.*,>=0.0.0a0
198201
- dlpack>=0.8,<1.0
199-
- output_types: requirements
200-
packages:
201-
# pip recognizes the index as a global option for the requirements.txt file
202-
# This index is needed for rmm-cu{11,12}.
203-
- --extra-index-url=https://pypi.nvidia.com
204-
- --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple
205202
specific:
206203
- output_types: [conda, requirements, pyproject]
207204
matrices:
@@ -216,21 +213,6 @@ dependencies:
216213
- matrix:
217214
packages:
218215
- &cuda_python cuda-python
219-
- output_types: [requirements, pyproject]
220-
matrices:
221-
- matrix:
222-
cuda: "12.*"
223-
cuda_suffixed: "true"
224-
packages:
225-
- &rmm_cu12 rmm-cu12==24.10.*,>=0.0.0a0
226-
- &pylibraft_cu12 pylibraft-cu12==24.10.*,>=0.0.0a0
227-
- matrix:
228-
cuda: "11.*"
229-
cuda_suffixed: "true"
230-
packages:
231-
- &rmm_cu11 rmm-cu11==24.10.*,>=0.0.0a0
232-
- &pylibraft_cu11 pylibraft-cu11==24.10.*,>=0.0.0a0
233-
- {matrix: null, packages: [*rmm_unsuffixed, *pylibraft_unsuffixed] }
234216
checks:
235217
common:
236218
- output_types: [conda, requirements]
@@ -448,19 +430,9 @@ dependencies:
448430
- python>=3.10,<3.13
449431
run_py_cuvs:
450432
common:
451-
- output_types: [conda, pyproject]
433+
- output_types: [conda, requirements, pyproject]
452434
packages:
453435
- &numpy numpy>=1.23,<3.0a0
454-
- output_types: [conda]
455-
packages:
456-
- *rmm_unsuffixed
457-
- *pylibraft_unsuffixed
458-
- output_types: requirements
459-
packages:
460-
# pip recognizes the index as a global option for the requirements.txt file
461-
# This index is needed for cudf and rmm.
462-
- --extra-index-url=https://pypi.nvidia.com
463-
- --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple
464436
specific:
465437
- output_types: [conda, requirements, pyproject]
466438
matrices:
@@ -475,15 +447,6 @@ dependencies:
475447
- matrix:
476448
packages:
477449
- *cuda_python
478-
- output_types: [requirements, pyproject]
479-
matrices:
480-
- matrix: {cuda: "12.*"}
481-
packages:
482-
- *pylibraft_cu12
483-
- matrix: {cuda: "11.*"}
484-
packages:
485-
- *pylibraft_cu11
486-
- {matrix: null, packages: [*pylibraft_unsuffixed]}
487450
test_python_common:
488451
common:
489452
- output_types: [conda, requirements, pyproject]
@@ -505,7 +468,6 @@ dependencies:
505468
- h5py>=3.8.0
506469
- benchmark>=1.8.2
507470
- openblas
508-
- *rmm_unsuffixed
509471
bench_python:
510472
common:
511473
- output_types: [conda]
@@ -515,3 +477,51 @@ dependencies:
515477
- pyyaml
516478
- pandas
517479
- click
480+
depends_on_librmm:
481+
common:
482+
- output_types: conda
483+
packages:
484+
- &librmm_unsuffixed librmm==24.10.*,>=0.0.0a0
485+
- output_types: requirements
486+
packages:
487+
# pip recognizes the index as a global option for the requirements.txt file
488+
- --extra-index-url=https://pypi.nvidia.com
489+
- --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple
490+
specific:
491+
- output_types: [requirements, pyproject]
492+
matrices:
493+
- matrix:
494+
cuda: "12.*"
495+
cuda_suffixed: "true"
496+
packages:
497+
- librmm-cu12==24.10.*,>=0.0.0a0
498+
- matrix:
499+
cuda: "11.*"
500+
cuda_suffixed: "true"
501+
packages:
502+
- librmm-cu11==24.10.*,>=0.0.0a0
503+
- {matrix: null, packages: [*librmm_unsuffixed]}
504+
depends_on_pylibraft:
505+
common:
506+
- output_types: conda
507+
packages:
508+
- &pylibraft_unsuffixed pylibraft==24.10.*,>=0.0.0a0
509+
- output_types: requirements
510+
packages:
511+
# pip recognizes the index as a global option for the requirements.txt file
512+
- --extra-index-url=https://pypi.nvidia.com
513+
- --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple
514+
specific:
515+
- output_types: [requirements, pyproject]
516+
matrices:
517+
- matrix:
518+
cuda: "12.*"
519+
cuda_suffixed: "true"
520+
packages:
521+
- pylibraft-cu12==24.10.*,>=0.0.0a0
522+
- matrix:
523+
cuda: "11.*"
524+
cuda_suffixed: "true"
525+
packages:
526+
- pylibraft-cu11==24.10.*,>=0.0.0a0
527+
- {matrix: null, packages: [*pylibraft_unsuffixed]}

0 commit comments

Comments
 (0)