diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 933d8aa98..3a78c4c15 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -148,7 +148,6 @@ jobs: package-name: cuopt package-type: python wheel-build-cuopt-server: - needs: wheel-build-cuopt secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10 with: @@ -159,6 +158,9 @@ jobs: script: ci/build_wheel_cuopt_server.sh package-name: cuopt_server package-type: python + pure-wheel: true + # Only need 1 package per CUDA major version. This selects "ARCH=amd64 + the latest supported Python, 1 job per major CUDA version". + matrix_filter: map(select(.ARCH == "amd64")) | group_by(.CUDA_VER|split(".")|map(tonumber)|.[0]) | map(max_by([(.PY_VER|split(".")|map(tonumber)), (.CUDA_VER|split(".")|map(tonumber))])) wheel-publish-cuopt-server: needs: wheel-build-cuopt-server secrets: inherit @@ -186,7 +188,6 @@ jobs: container_image: "rapidsai/ci-conda:25.10-latest" script: "ci/build_docs.sh" wheel-build-cuopt-sh-client: - needs: wheel-build-cuopt secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10 with: @@ -198,6 +199,7 @@ jobs: package-name: cuopt_sh_client package-type: python append-cuda-suffix: false + pure-wheel: true # only need 1 build (noarch package): this selects amd64, oldest-supported Python, latest-supported CUDA matrix_filter: '[map(select(.ARCH == "amd64")) | min_by((.PY_VER | split(".") | map(tonumber)), (.CUDA_VER | split(".") | map(-tonumber)))]' wheel-publish-cuopt-sh-client: @@ -212,7 +214,10 @@ jobs: package-name: cuopt_sh_client package-type: python build-images: - needs: [wheel-publish-cuopt, wheel-publish-cuopt-server] + needs: + - wheel-publish-cuopt + - wheel-publish-cuopt-server + - wheel-publish-cuopt-sh-client uses: ./.github/workflows/build_test_publish_images.yaml secrets: inherit with: diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 51203186f..9517f9236 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -198,7 +198,7 @@ jobs: build_type: pull-request script: ci/test_wheel_cuopt.sh wheel-build-cuopt-server: - needs: wheel-build-cuopt + needs: checks secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10 with: @@ -206,6 +206,9 @@ jobs: script: ci/build_wheel_cuopt_server.sh package-name: cuopt_server package-type: python + pure-wheel: true + # Only need 1 package per CUDA major version. This selects "ARCH=amd64 + the latest supported Python, 1 job per major CUDA version". + matrix_filter: map(select(.ARCH == "amd64")) | group_by(.CUDA_VER|split(".")|map(tonumber)|.[0]) | map(max_by([(.PY_VER|split(".")|map(tonumber)), (.CUDA_VER|split(".")|map(tonumber))])) wheel-build-cuopt-sh-client: secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10 @@ -219,7 +222,7 @@ jobs: # only need 1 build (noarch package): this selects amd64, oldest-supported Python, latest-supported CUDA matrix_filter: '[map(select(.ARCH == "amd64")) | min_by((.PY_VER | split(".") | map(tonumber)), (.CUDA_VER | split(".") | map(-tonumber)))]' wheel-tests-cuopt-server: - needs: [wheel-build-cuopt-server, changed-files] + needs: [wheel-build-cuopt, wheel-build-cuopt-server, changed-files] secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-25.10 #if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_cuopt_server @@ -227,7 +230,7 @@ jobs: build_type: pull-request script: ci/test_wheel_cuopt_server.sh test-self-hosted-server: - needs: [wheel-build-cuopt-server, changed-files] + needs: [wheel-build-cuopt, wheel-build-cuopt-server, changed-files] secrets: inherit uses: ./.github/workflows/self_hosted_service_test.yaml #if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python diff --git a/ci/test_self_hosted_service.sh b/ci/test_self_hosted_service.sh index a5285ec1c..9b1e22e6c 100755 --- a/ci/test_self_hosted_service.sh +++ b/ci/test_self_hosted_service.sh @@ -22,7 +22,7 @@ source rapids-init-pip # Download the cuopt built in the previous step RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen "${RAPIDS_CUDA_VERSION}")" CUOPT_MPS_PARSER_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="cuopt_mps_parser" rapids-download-wheels-from-github python) -CUOPT_SERVER_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="cuopt_server_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-github python) +CUOPT_SERVER_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="cuopt_server_${RAPIDS_PY_CUDA_SUFFIX}" RAPIDS_PY_WHEEL_PURE="1" rapids-download-wheels-from-github python) CUOPT_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="cuopt_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-github python) LIBCUOPT_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="libcuopt_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-github cpp) diff --git a/ci/test_wheel_cuopt_server.sh b/ci/test_wheel_cuopt_server.sh index 7f999dba8..5f0b874ba 100755 --- a/ci/test_wheel_cuopt_server.sh +++ b/ci/test_wheel_cuopt_server.sh @@ -22,7 +22,7 @@ source rapids-init-pip # Download the packages built in the previous step RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen "${RAPIDS_CUDA_VERSION}")" CUOPT_MPS_PARSER_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="cuopt_mps_parser" rapids-download-wheels-from-github python) -CUOPT_SERVER_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="cuopt_server_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-github python) +CUOPT_SERVER_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="cuopt_server_${RAPIDS_PY_CUDA_SUFFIX}" RAPIDS_PY_WHEEL_PURE="1" rapids-download-wheels-from-github python) CUOPT_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="cuopt_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-github python) LIBCUOPT_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="libcuopt_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-github cpp)