diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index eca92e48bf..6f8b0485ff 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -167,20 +167,21 @@ jobs: date: ${{ inputs.date }} package-name: cuopt_server package-type: python - #docs-build: - # if: inputs.build_type == 'nightly' || github.ref_type == 'branch' - # needs: [python-build] - # secrets: inherit - # uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.08 - # with: - # build_type: ${{ inputs.build_type || 'branch' }} - # node_type: "gpu-l4-latest-1" - # sha: ${{ inputs.sha }} - # branch: ${{ inputs.branch }} - # date: ${{ inputs.date }} - # arch: amd64 - # container_image: rapidsai/ci-conda:cuda11.8.0-ubuntu22.04-py3.10 - # run_script: ci/build_docs.sh + docs-build: + needs: [python-build] + secrets: inherit + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.08 + with: + build_type: ${{ inputs.build_type || 'branch' }} + node_type: "gpu-l4-latest-1" + sha: ${{ inputs.sha }} + branch: ${{ inputs.branch }} + date: ${{ inputs.date }} + arch: "amd64" + file_to_upload: "docs/cuopt/build/html/" + artifact-name: "cuopt_docs" + container_image: "rapidsai/ci-conda:25.08-latest" + script: "ci/build_docs.sh" wheel-build-cuopt-sh-client: needs: wheel-build-cuopt secrets: inherit diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 52d6d4dc1a..7ee94cfb24 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -33,6 +33,7 @@ jobs: - conda-cpp-tests - conda-python-build - conda-python-tests + - docs-build - wheel-build-libcuopt # - conda-notebook-tests - wheel-build-cuopt @@ -150,16 +151,18 @@ jobs: build_type: pull-request matrix_filter: map(select((.CUDA_VER | startswith("12")))) script: ci/test_python.sh - #docs-build: - # needs: checks - # secrets: inherit - # uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.08 - # with: - # build_type: pull-request - # node_type: "cpu4" - # arch: amd64 - # container_image: rapidsai/ci-conda:cuda11.8.0-ubuntu22.04-py3.10 - # run_script: ci/build_docs.sh + docs-build: + needs: conda-python-build + secrets: inherit + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.08 + with: + build_type: pull-request + node_type: "gpu-l4-latest-1" + arch: "amd64" + file_to_upload: "docs/cuopt/build/html/" + artifact-name: "cuopt_docs" + container_image: "rapidsai/ci-conda:25.08-latest" + script: "ci/build_docs.sh" #conda-notebook-tests: # needs: [conda-python-build, changed-files] # secrets: inherit diff --git a/ci/build_docs.sh b/ci/build_docs.sh index ff79629593..10f331896f 100755 --- a/ci/build_docs.sh +++ b/ci/build_docs.sh @@ -1,4 +1,5 @@ #!/bin/bash + # SPDX-FileCopyrightText: Copyright (c) 2023-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # @@ -19,23 +20,28 @@ set -euo pipefail rapids-logger "Create test conda environment" . /opt/conda/etc/profile.d/conda.sh +ENV_YAML_DIR="$(mktemp -d)" + +rapids-logger "Downloading artifacts from previous jobs" +CPP_CHANNEL=$(rapids-download-conda-from-github cpp) +PYTHON_CHANNEL=$(rapids-download-conda-from-github python) + +rapids-logger "Generating conda environment YAML" + rapids-dependency-file-generator \ --output conda \ --file-key docs \ - --matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION}" | tee env.yaml + --prepend-channel "${CPP_CHANNEL}" \ + --prepend-channel "${PYTHON_CHANNEL}" \ + --matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION}" | tee "${ENV_YAML_DIR}/env.yaml" -rapids-mamba-retry env create --yes -f env.yaml -n docs +rapids-mamba-retry env create --yes -f "${ENV_YAML_DIR}/env.yaml" -n docs conda activate docs rapids-print-env -export RAPIDS_VERSION_NUMBER="24.11" -RAPIDS_DOCS_DIR="$(mktemp -d)" -export RAPIDS_DOCS_DIR +rapids-logger "Build Docs" +./build.sh docs + -rapids-logger "Build Python docs" -#mkdir -p "${RAPIDS_DOCS_DIR}/cuopt/"{html,txt} -pushd docs/cuopt -bash build_docs.sh -# rapids-upload-docs diff --git a/ci/release/update-version-rapids.sh b/ci/release/update-version-rapids.sh index 6835e25c09..72f3e7cbe4 100755 --- a/ci/release/update-version-rapids.sh +++ b/ci/release/update-version-rapids.sh @@ -53,6 +53,8 @@ done # WORKFLOWS for FILE in .github/workflows/*.yaml; do sed_runner "/shared-workflows/ s/@.*/@branch-${NEXT_SHORT_TAG}/g" "${FILE}" + # CI image tags of the form {rapids_version}-{something} + sed_runner "s/:[0-9]*\\.[0-9]*-/:${NEXT_SHORT_TAG}-/g" "${FILE}" done # CI diff --git a/conda/recipes/cuopt-server/recipe.yaml b/conda/recipes/cuopt-server/recipe.yaml index f126c04490..780d8aed91 100644 --- a/conda/recipes/cuopt-server/recipe.yaml +++ b/conda/recipes/cuopt-server/recipe.yaml @@ -35,7 +35,7 @@ requirements: - fastapi >=0.104.1 - jsonref =1.1.0 - httpx - - msgpack-python =1.0.8 + - msgpack-python =1.1.0 - msgpack-numpy =0.4.8 - numpy >=1.23,<3.0a0 - pandas>=2 diff --git a/conda/recipes/cuopt-sh-client/recipe.yaml b/conda/recipes/cuopt-sh-client/recipe.yaml index 616024e33f..eeffc9161a 100644 --- a/conda/recipes/cuopt-sh-client/recipe.yaml +++ b/conda/recipes/cuopt-sh-client/recipe.yaml @@ -28,7 +28,7 @@ requirements: - python =${{ py_version }} - setuptools>=61.0.0 run: - - msgpack-python =1.0.8 + - msgpack-python =1.1.0 - python - requests diff --git a/dependencies.yaml b/dependencies.yaml index aded6611f1..3aa6c94601 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -79,6 +79,11 @@ files: includes: - cuda - cuda_version + - depends_on_libcuopt + - depends_on_cuopt + - depends_on_cuopt_server + - depends_on_cuopt_sh_client + - depends_on_mps_parser - docs - py_version py_build_cuopt_mps_parser: @@ -464,6 +469,35 @@ dependencies: packages: - cuopt-cu12==25.8.*,>=0.0.0a0 - {matrix: null, packages: [*cuopt_unsuffixed]} + depends_on_cuopt_server: + common: + - output_types: conda + packages: + - &cuopt_server_unsuffixed cuopt-server==25.8.*,>=0.0.0a0 + - output_types: requirements + packages: + # pip recognizes the index as a global option for the requirements.txt file + - --extra-index-url=https://pypi.nvidia.com + - --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple + specific: + - output_types: [requirements, pyproject] + matrices: + - matrix: + cuda: "12.*" + cuda_suffixed: "true" + packages: + - cuopt-server-cu12==25.8.*,>=0.0.0a0 + - {matrix: null, packages: [*cuopt_server_unsuffixed]} + depends_on_cuopt_sh_client: + common: + - output_types: [conda, requirements, pyproject] + packages: + - &cuopt_sh_client_unsuffixed cuopt-sh-client==25.8.*,>=0.0.0a0 + - output_types: requirements + packages: + # pip recognizes the index as a global option for the requirements.txt file + - --extra-index-url=https://pypi.nvidia.com + - --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple depends_on_mps_parser: common: - output_types: [requirements, pyproject, conda]