Skip to content

Commit c3dfb74

Browse files
authored
Merge branch 'branch-25.10' into fix/nightly-tests
2 parents 93b5ea1 + 3dc71e7 commit c3dfb74

File tree

175 files changed

+5532
-2216
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

175 files changed

+5532
-2216
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
*.mps linguist-detectable=false
2+
*.qps linguist-detectable=false

.github/workflows/build.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@ jobs:
111111
package-name: cuopt_mps_parser
112112
package-type: python
113113
append-cuda-suffix: false
114+
# need 1 build per Python version and arch (but CUDA version doesn't matter so choose the latest)
115+
matrix_filter: 'group_by([.ARCH, (.PY_VER |split(".") | map(tonumber))])|map(max_by([(.CUDA_VER|split(".")|map(tonumber))]))'
114116
wheel-publish-cuopt-mps-parser:
115117
name: wheel-publish-cuopt-mps-parser
116118
needs: wheel-build-cuopt-mps-parser
@@ -229,6 +231,8 @@ jobs:
229231
package-name: cuopt_sh_client
230232
package-type: python
231233
append-cuda-suffix: false
234+
# only need 1 build (noarch package): this selects amd64, oldest-supported Python, latest-supported CUDA
235+
matrix_filter: '[map(select(.ARCH == "amd64")) | min_by((.PY_VER | split(".") | map(tonumber)), (.CUDA_VER | split(".") | map(-tonumber)))]'
232236
wheel-publish-cuopt-sh-client:
233237
name: wheel-publish-cuopt-sh-client
234238
needs: wheel-build-cuopt-sh-client

.github/workflows/build_images.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ on:
3636
PYTHON_VER:
3737
required: true
3838
type: string
39+
sha:
40+
description: "sha: full git commit SHA to check out"
41+
required: true
42+
type: string
3943

4044
jobs:
4145
build:
@@ -52,6 +56,7 @@ jobs:
5256
uses: actions/checkout@v4
5357
with:
5458
fetch-depth: 0
59+
ref: ${{ inputs.sha }}
5560
- name: Login to DockerHub
5661
uses: docker/login-action@v3
5762
with:
@@ -62,6 +67,9 @@ jobs:
6267
cp ./LICENSE ./ci/docker/context/LICENSE
6368
cp ./VERSION ./ci/docker/context/VERSION
6469
cp ./thirdparty/THIRD_PARTY_LICENSES ./ci/docker/context/THIRD_PARTY_LICENSES
70+
- name: Copy Commit SHA
71+
run: |
72+
git rev-parse HEAD > ./ci/docker/context/COMMIT_SHA
6573
- name: Login to NGC
6674
uses: docker/login-action@v3
6775
with:

.github/workflows/build_test_publish_images.yaml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ on:
3232
description: 'JSON array of architectures to build for'
3333
cuda_ver:
3434
type: string
35-
default: '["12.9.0"]'
35+
default: '["12.9.0", "13.0.0"]'
3636
description: 'JSON array of CUDA versions to build for'
3737
python_ver:
3838
type: string
39-
default: '["3.12.11"]'
39+
default: '["3.13.7"]'
4040
description: 'JSON array of Python versions to build for'
4141
linux_ver:
4242
type: string
@@ -80,6 +80,7 @@ jobs:
8080
ref: ${{ inputs.sha }}
8181
fetch-depth: 0 # unshallow fetch for setuptools-scm
8282
persist-credentials: false
83+
ref: ${{ inputs.sha }}
8384

8485
- name: Compute matrix
8586
id: compute-matrix
@@ -129,6 +130,7 @@ jobs:
129130
IMAGE_TAG_PREFIX: ${{ needs.compute-matrix.outputs.IMAGE_TAG_PREFIX }}
130131
LINUX_VER: ${{ matrix.linux_ver }}
131132
PYTHON_VER: ${{ matrix.python_ver }}
133+
sha: ${{ inputs.sha }}
132134

133135
build-cuopt-multiarch-manifest:
134136
name: Build cuopt multiarch manifest
@@ -142,6 +144,7 @@ jobs:
142144
- name: Checkout code repo
143145
uses: actions/checkout@v4
144146
with:
147+
ref: ${{ inputs.sha }}
145148
fetch-depth: 0
146149
- name: Login to DockerHub
147150
uses: docker/login-action@v3
@@ -184,3 +187,4 @@ jobs:
184187
CUDA_VER: ${{ matrix.CUDA_VER }}
185188
PYTHON_VER: ${{ matrix.PYTHON_VER }}
186189
IMAGE_TAG_PREFIX: ${{ needs.compute-matrix.outputs.IMAGE_TAG_PREFIX }}
190+
sha: ${{ inputs.sha }}

.github/workflows/pr.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ jobs:
3535
- conda-python-tests
3636
- docs-build
3737
- wheel-build-libcuopt
38-
# - conda-notebook-tests
3938
- wheel-build-cuopt
4039
- wheel-tests-cuopt
4140
- wheel-build-cuopt-server
@@ -168,6 +167,8 @@ jobs:
168167
package-name: cuopt_mps_parser
169168
package-type: python
170169
append-cuda-suffix: false
170+
# need 1 build per Python version and arch (but CUDA version doesn't matter so choose the latest)
171+
matrix_filter: 'group_by([.ARCH, (.PY_VER |split(".") | map(tonumber))])|map(max_by([(.CUDA_VER|split(".")|map(tonumber))]))'
171172
wheel-build-libcuopt:
172173
needs: wheel-build-cuopt-mps-parser
173174
secrets: inherit
@@ -214,6 +215,9 @@ jobs:
214215
package-name: cuopt_sh_client
215216
package-type: python
216217
append-cuda-suffix: false
218+
pure-wheel: true
219+
# only need 1 build (noarch package): this selects amd64, oldest-supported Python, latest-supported CUDA
220+
matrix_filter: '[map(select(.ARCH == "amd64")) | min_by((.PY_VER | split(".") | map(tonumber)), (.CUDA_VER | split(".") | map(-tonumber)))]'
217221
wheel-tests-cuopt-server:
218222
needs: [wheel-build-cuopt-server, changed-files]
219223
secrets: inherit

.github/workflows/test.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,3 +99,15 @@ jobs:
9999
date: ${{ inputs.date }}
100100
sha: ${{ inputs.sha }}
101101
script: ci/test_wheel_cuopt_server.sh
102+
conda-notebook-tests:
103+
secrets: inherit
104+
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
105+
with:
106+
build_type: ${{ inputs.build_type }}
107+
branch: ${{ inputs.branch }}
108+
date: ${{ inputs.date }}
109+
sha: ${{ inputs.sha }}
110+
node_type: "gpu-l4-latest-1"
111+
arch: "amd64"
112+
container_image: "rapidsai/ci-conda:25.10-latest"
113+
script: ci/test_notebooks.sh

.github/workflows/test_images.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@ on:
2727
IMAGE_TAG_PREFIX:
2828
required: true
2929
type: string
30-
30+
sha:
31+
description: "sha: full git commit SHA to check out"
32+
required: true
33+
type: string
3134

3235
jobs:
3336

@@ -56,6 +59,7 @@ jobs:
5659
uses: actions/checkout@v4
5760
with:
5861
fetch-depth: 0
62+
ref: ${{ inputs.sha }}
5963
- name: Test cuopt
6064
run: |
6165
bash ./ci/docker/test_image.sh

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,5 @@ docs/cuopt/build
6666

6767
# generated version file
6868
cpp/include/cuopt/semantic_version.hpp
69+
!datasets/quadratic_programming
70+
!datasets/quadratic_programming/**

.pre-commit-config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
repos:
1717
- repo: https://github.com/pre-commit/pre-commit-hooks
18-
rev: 'v5.0.0'
18+
rev: 'v6.0.0'
1919
hooks:
2020
- id: end-of-file-fixer
2121
exclude: ^(datasets|helmchart)/.*\.(mps|json|yaml|yml|txt)$
@@ -75,17 +75,17 @@ repos:
7575
types_or: [file]
7676
args: ['-fallback-style=none', '-style=file', '-i']
7777
- repo: https://github.com/rapidsai/dependency-file-generator
78-
rev: v1.18.1
78+
rev: v1.20.0
7979
hooks:
8080
- id: rapids-dependency-file-generator
81-
args: ["--clean"]
81+
args: ["--clean", "--warn-all", "--strict"]
8282
- repo: https://github.com/shellcheck-py/shellcheck-py
8383
rev: v0.10.0.1
8484
hooks:
8585
- id: shellcheck
8686
args: ["--severity=warning"]
8787
- repo: https://github.com/rapidsai/pre-commit-hooks
88-
rev: v0.6.0
88+
rev: v0.7.0
8989
hooks:
9090
- id: verify-copyright
9191
files: |

CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,12 @@ library features. The following instructions are for building with a conda envir
7070

7171
CUDA/GPU Runtime:
7272

73-
* CUDA 12.9
73+
* CUDA 12.0 or higher
7474
* Volta architecture or better ([Compute Capability](https://docs.nvidia.com/deploy/cuda-compatibility/) >=7.0)
7575

7676
Python:
7777

78-
* Python >=3.10.x, <= 3.12.x
78+
* Python >=3.10.x, <= 3.13.x
7979

8080
OS:
8181

@@ -110,7 +110,7 @@ Please install conda if you don't have it already. You can install [miniforge](h
110110
# create the conda environment (assuming in base `cuopt` directory)
111111
# note: cuOpt currently doesn't support `channel_priority: strict`;
112112
# use `channel_priority: flexible` instead
113-
conda env create --name cuopt_dev --file conda/environments/all_cuda-128_arch-x86_64.yaml
113+
conda env create --name cuopt_dev --file conda/environments/all_cuda-130_arch-x86_64.yaml
114114
# activate the environment
115115
conda activate cuopt_dev
116116
```

0 commit comments

Comments
 (0)