From 19fa7ba8261c33ab20a661f897dbca73071006f7 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Tue, 4 Aug 2026 12:51:30 -0500 Subject: [PATCH 1/7] ensure nightly builds always produce new packages --- .github/workflows/build.yaml | 2 ++ .github/workflows/pr.yaml | 2 ++ ci/build_cpp.sh | 2 +- ci/build_python.sh | 2 +- ci/build_wheel.sh | 2 +- conda/recipes/cuopt-server/recipe.yaml | 4 ++-- conda/recipes/cuopt-sh-client/recipe.yaml | 4 ++-- conda/recipes/cuopt/recipe.yaml | 2 +- conda/recipes/libcuopt/recipe.yaml | 2 +- 9 files changed, 13 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a3bb5d3fd6..ce10972b5f 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -45,6 +45,8 @@ concurrency: permissions: {} jobs: + build-details: + uses: rapidsai/shared-workflows/.github/workflows/compute-build-details.yaml@main cpp-build: permissions: actions: read diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 5a458692c2..b46dd8f140 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -15,6 +15,8 @@ concurrency: permissions: {} jobs: + build-details: + uses: rapidsai/shared-workflows/.github/workflows/compute-build-details.yaml@main pr-builder: needs: - compute-matrix-filters diff --git a/ci/build_cpp.sh b/ci/build_cpp.sh index cb6d61b5ec..2794f13cd2 100755 --- a/ci/build_cpp.sh +++ b/ci/build_cpp.sh @@ -8,7 +8,7 @@ set -euo pipefail source rapids-configure-sccache -source rapids-date-string +source rapids-datetime-string export CMAKE_GENERATOR=Ninja diff --git a/ci/build_python.sh b/ci/build_python.sh index 4595e3a82d..461063a02c 100755 --- a/ci/build_python.sh +++ b/ci/build_python.sh @@ -7,7 +7,7 @@ set -euo pipefail source rapids-configure-sccache -source rapids-date-string +source rapids-datetime-string export CMAKE_GENERATOR=Ninja diff --git a/ci/build_wheel.sh b/ci/build_wheel.sh index 8f6973a73e..adea07aa88 100755 --- a/ci/build_wheel.sh +++ b/ci/build_wheel.sh @@ -9,7 +9,7 @@ package_name=$1 package_dir=$2 source rapids-configure-sccache -source rapids-date-string +source rapids-datetime-string source rapids-init-pip # Update the version to accomdate nightly and release changes for the wheel name diff --git a/conda/recipes/cuopt-server/recipe.yaml b/conda/recipes/cuopt-server/recipe.yaml index ad1a52ebbf..1eb83637f2 100644 --- a/conda/recipes/cuopt-server/recipe.yaml +++ b/conda/recipes/cuopt-server/recipe.yaml @@ -1,10 +1,10 @@ -# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION. +# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 schema_version: 1 context: version: ${{ env.get("RAPIDS_PACKAGE_VERSION") }} - date_string: '${{ env.get("RAPIDS_DATE_STRING") }}' + datetime_string: '${{ env.get("RAPIDS_DATE_STRING") }}' py_version: ${{ env.get("RAPIDS_PY_VERSION") }} py_buildstring: ${{ py_version | version_to_buildstring }} head_rev: '${{ git.head_rev(".")[:8] }}' diff --git a/conda/recipes/cuopt-sh-client/recipe.yaml b/conda/recipes/cuopt-sh-client/recipe.yaml index 23928bfa51..32b0cf57af 100644 --- a/conda/recipes/cuopt-sh-client/recipe.yaml +++ b/conda/recipes/cuopt-sh-client/recipe.yaml @@ -1,11 +1,11 @@ -# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION. +# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 schema_version: 1 context: version: ${{ env.get("RAPIDS_PACKAGE_VERSION") }} minor_version: ${{ (version | split("."))[:2] | join(".") }} - date_string: '${{ env.get("RAPIDS_DATE_STRING") }}' + datetime_string: '${{ env.get("RAPIDS_DATE_STRING") }}' py_version: ${{ env.get("RAPIDS_PY_VERSION") }} py_buildstring: ${{ py_version | version_to_buildstring }} head_rev: '${{ git.head_rev(".")[:8] }}' diff --git a/conda/recipes/cuopt/recipe.yaml b/conda/recipes/cuopt/recipe.yaml index bc1bac5f88..e3b3ecb642 100644 --- a/conda/recipes/cuopt/recipe.yaml +++ b/conda/recipes/cuopt/recipe.yaml @@ -7,7 +7,7 @@ context: minor_version: ${{ (version | split("."))[:2] | join(".") }} cuda_version: ${{ (env.get("RAPIDS_CUDA_VERSION") | split("."))[:2] | join(".") }} cuda_major: '${{ (env.get("RAPIDS_CUDA_VERSION") | split("."))[0] }}' - date_string: '${{ env.get("RAPIDS_DATE_STRING") }}' + datetime_string: '${{ env.get("RAPIDS_DATE_STRING") }}' py_version: ${{ env.get("RAPIDS_PY_VERSION") }} py_buildstring: ${{ py_version | version_to_buildstring }} head_rev: '${{ git.head_rev(".")[:8] }}' diff --git a/conda/recipes/libcuopt/recipe.yaml b/conda/recipes/libcuopt/recipe.yaml index 268c1eaef0..b14bf8c520 100644 --- a/conda/recipes/libcuopt/recipe.yaml +++ b/conda/recipes/libcuopt/recipe.yaml @@ -7,7 +7,7 @@ context: minor_version: ${{ (version | split("."))[:2] | join(".") }} cuda_version: ${{ (env.get("RAPIDS_CUDA_VERSION") | split("."))[:2] | join(".") }} cuda_major: '${{ (env.get("RAPIDS_CUDA_VERSION") | split("."))[0] }}' - date_string: '${{ env.get("RAPIDS_DATE_STRING") }}' + datetime_string: '${{ env.get("RAPIDS_DATE_STRING") }}' head_rev: '${{ git.head_rev(".")[:8] }}' build_type: '${{ env.get("RAPIDS_BUILD_TYPE") }}' From 8f5bb3a00868b7eee631f654382051d1e62906b3 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Tue, 4 Aug 2026 14:58:23 -0500 Subject: [PATCH 2/7] updates --- .github/workflows/build.yaml | 14 ++++++++++++-- .github/workflows/pr.yaml | 19 +++++++++++++------ ci/build_wheel.sh | 5 +++-- conda/recipes/cuopt-server/recipe.yaml | 4 ++-- conda/recipes/cuopt-sh-client/recipe.yaml | 4 ++-- conda/recipes/cuopt/recipe.yaml | 4 ++-- conda/recipes/libcuopt/recipe.yaml | 6 +++--- 7 files changed, 37 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index ce10972b5f..3622942758 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -54,16 +54,18 @@ jobs: id-token: write packages: read pull-requests: read + needs: [build-details] secrets: inherit # zizmor: ignore[secrets-inherit] uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@release/26.08 with: build_type: ${{ inputs.build_type || 'branch' }} + build-datetime: ${{ needs.build-details.outputs.build-datetime }} branch: ${{ inputs.branch }} date: ${{ inputs.date }} sha: ${{ inputs.sha }} script: ci/build_cpp.sh python-build: - needs: [cpp-build] + needs: [build-details, cpp-build] permissions: actions: read contents: read @@ -74,6 +76,7 @@ jobs: uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@release/26.08 with: build_type: ${{ inputs.build_type || 'branch' }} + build-datetime: ${{ needs.build-details.outputs.build-datetime }} branch: ${{ inputs.branch }} date: ${{ inputs.date }} sha: ${{ inputs.sha }} @@ -102,10 +105,12 @@ jobs: id-token: write packages: read pull-requests: read + needs: [build-details] secrets: inherit # zizmor: ignore[secrets-inherit] uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/26.08 with: build_type: ${{ inputs.build_type || 'branch' }} + build-datetime: ${{ needs.build-details.outputs.build-datetime }} branch: ${{ inputs.branch }} sha: ${{ inputs.sha }} date: ${{ inputs.date }} @@ -134,7 +139,7 @@ jobs: package-type: cpp publish-wheel-search-key: cuopt_wheel_cpp_libcuopt wheel-build-cuopt: - needs: [wheel-build-libcuopt] + needs: [build-details, wheel-build-libcuopt] permissions: actions: read contents: read @@ -145,6 +150,7 @@ jobs: uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/26.08 with: build_type: ${{ inputs.build_type || 'branch' }} + build-datetime: ${{ needs.build-details.outputs.build-datetime }} branch: ${{ inputs.branch }} sha: ${{ inputs.sha }} date: ${{ inputs.date }} @@ -178,10 +184,12 @@ jobs: id-token: write packages: read pull-requests: read + needs: [build-details] secrets: inherit # zizmor: ignore[secrets-inherit] uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/26.08 with: build_type: ${{ inputs.build_type || 'branch' }} + build-datetime: ${{ needs.build-details.outputs.build-datetime }} branch: ${{ inputs.branch }} sha: ${{ inputs.sha }} date: ${{ inputs.date }} @@ -239,10 +247,12 @@ jobs: id-token: write packages: read pull-requests: read + needs: [build-details] secrets: inherit # zizmor: ignore[secrets-inherit] uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/26.08 with: build_type: ${{ inputs.build_type || 'branch' }} + build-datetime: ${{ needs.build-details.outputs.build-datetime }} branch: ${{ inputs.branch }} sha: ${{ inputs.sha }} date: ${{ inputs.date }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index b46dd8f140..f6a0a29f09 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -19,6 +19,7 @@ jobs: uses: rapidsai/shared-workflows/.github/workflows/compute-build-details.yaml@main pr-builder: needs: + - build-details - compute-matrix-filters - changed-files - checks @@ -341,7 +342,7 @@ jobs: with: enable_check_generated_files: false conda-cpp-build: - needs: [checks, compute-matrix-filters, changed-files] + needs: [build-details, checks, compute-matrix-filters, changed-files] # Consumed by conda-cpp-tests, conda-python-build, and (transitively) docs-build. if: >- fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp || @@ -357,6 +358,7 @@ jobs: uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@release/26.08 with: build_type: pull-request + build-datetime: ${{ needs.build-details.outputs.build-datetime }} script: ci/build_cpp.sh conda-cpp-tests: needs: [conda-cpp-build, changed-files] @@ -393,7 +395,7 @@ jobs: # Non-blocking while the multi-GPU test suite is maturing. continue-on-error: true conda-python-build: - needs: [conda-cpp-build, changed-files] + needs: [build-details, conda-cpp-build, changed-files] # Consumed by conda-python-tests and docs-build. if: >- fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_conda || @@ -408,6 +410,7 @@ jobs: uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@release/26.08 with: build_type: pull-request + build-datetime: ${{ needs.build-details.outputs.build-datetime }} script: ci/build_python.sh conda-python-tests: needs: [conda-python-build, changed-files] @@ -443,7 +446,7 @@ jobs: container_image: "rapidsai/ci-conda:26.08-latest" script: "ci/build_docs.sh" wheel-build-libcuopt: - needs: [compute-matrix-filters, changed-files] + needs: [build-details, compute-matrix-filters, changed-files] if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_wheels permissions: actions: read @@ -459,9 +462,10 @@ jobs: package-type: cpp package-name: libcuopt build_type: pull-request + build-datetime: ${{ needs.build-details.outputs.build-datetime }} script: ci/build_wheel_libcuopt.sh wheel-build-cuopt: - needs: [wheel-build-libcuopt, compute-matrix-filters, changed-files] + needs: [build-details, wheel-build-libcuopt, compute-matrix-filters, changed-files] if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_wheels permissions: actions: read @@ -473,6 +477,7 @@ jobs: uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/26.08 with: build_type: pull-request + build-datetime: ${{ needs.build-details.outputs.build-datetime }} script: ci/build_wheel_cuopt.sh package-name: cuopt package-type: python @@ -497,7 +502,7 @@ jobs: script-env-secret-3-key: CUOPT_AWS_SECRET_ACCESS_KEY script-env-secret-3-value: ${{ secrets.CUOPT_AWS_SECRET_ACCESS_KEY }} wheel-build-cuopt-server: - needs: [checks, compute-matrix-filters, changed-files] + needs: [build-details, checks, compute-matrix-filters, changed-files] if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_wheels permissions: actions: read @@ -509,6 +514,7 @@ jobs: uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/26.08 with: build_type: pull-request + build-datetime: ${{ needs.build-details.outputs.build-datetime }} script: ci/build_wheel_cuopt_server.sh package-name: cuopt_server package-type: python @@ -516,7 +522,7 @@ jobs: # Only need 1 package per CUDA major version. This selects "ARCH=amd64 + the latest supported Python, 1 job per major CUDA version". matrix_filter: ${{ needs.compute-matrix-filters.outputs.cuopt_server_filter }} wheel-build-cuopt-sh-client: - needs: [compute-matrix-filters, changed-files] + needs: [build-details, compute-matrix-filters, changed-files] if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_wheels permissions: actions: read @@ -528,6 +534,7 @@ jobs: uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/26.08 with: build_type: pull-request + build-datetime: ${{ needs.build-details.outputs.build-datetime }} script: ci/build_wheel_cuopt_sh_client.sh package-name: cuopt_sh_client package-type: python diff --git a/ci/build_wheel.sh b/ci/build_wheel.sh index adea07aa88..8cac0e7714 100755 --- a/ci/build_wheel.sh +++ b/ci/build_wheel.sh @@ -12,8 +12,9 @@ source rapids-configure-sccache source rapids-datetime-string source rapids-init-pip -# Update the version to accomdate nightly and release changes for the wheel name -rapids-generate-version > ./VERSION +# Update the version to accomodate nightly and release changes for the wheel name +RAPIDS_VERSION_SUFFIX=".post${RAPIDS_DATETIME_STRING}" \ + rapids-generate-version > ./VERSION cd "${package_dir}" diff --git a/conda/recipes/cuopt-server/recipe.yaml b/conda/recipes/cuopt-server/recipe.yaml index 1eb83637f2..7c77ee6e6e 100644 --- a/conda/recipes/cuopt-server/recipe.yaml +++ b/conda/recipes/cuopt-server/recipe.yaml @@ -4,7 +4,7 @@ schema_version: 1 context: version: ${{ env.get("RAPIDS_PACKAGE_VERSION") }} - datetime_string: '${{ env.get("RAPIDS_DATE_STRING") }}' + datetime_string: '${{ env.get("RAPIDS_DATETIME_STRING") }}' py_version: ${{ env.get("RAPIDS_PY_VERSION") }} py_buildstring: ${{ py_version | version_to_buildstring }} head_rev: '${{ git.head_rev(".")[:8] }}' @@ -17,7 +17,7 @@ source: path: ../../.. build: - string: py${{ py_buildstring }}_${{ date_string }}_${{ head_rev }} + string: py${{ py_buildstring }}_${{ datetime_string }}_${{ head_rev }} script: content: | # We pass an explicit matrix-entry here along with `disable-cuda=true` to diff --git a/conda/recipes/cuopt-sh-client/recipe.yaml b/conda/recipes/cuopt-sh-client/recipe.yaml index 32b0cf57af..5e603616fb 100644 --- a/conda/recipes/cuopt-sh-client/recipe.yaml +++ b/conda/recipes/cuopt-sh-client/recipe.yaml @@ -5,7 +5,7 @@ schema_version: 1 context: version: ${{ env.get("RAPIDS_PACKAGE_VERSION") }} minor_version: ${{ (version | split("."))[:2] | join(".") }} - datetime_string: '${{ env.get("RAPIDS_DATE_STRING") }}' + datetime_string: '${{ env.get("RAPIDS_DATETIME_STRING") }}' py_version: ${{ env.get("RAPIDS_PY_VERSION") }} py_buildstring: ${{ py_version | version_to_buildstring }} head_rev: '${{ git.head_rev(".")[:8] }}' @@ -18,7 +18,7 @@ source: path: ../../.. build: - string: py${{ py_buildstring }}_${{ date_string }}_${{ head_rev }} + string: py${{ py_buildstring }}_${{ datetime_string }}_${{ head_rev }} script: content: | ./build.sh cuopt_sh_client diff --git a/conda/recipes/cuopt/recipe.yaml b/conda/recipes/cuopt/recipe.yaml index e3b3ecb642..776e8e2d7a 100644 --- a/conda/recipes/cuopt/recipe.yaml +++ b/conda/recipes/cuopt/recipe.yaml @@ -7,7 +7,7 @@ context: minor_version: ${{ (version | split("."))[:2] | join(".") }} cuda_version: ${{ (env.get("RAPIDS_CUDA_VERSION") | split("."))[:2] | join(".") }} cuda_major: '${{ (env.get("RAPIDS_CUDA_VERSION") | split("."))[0] }}' - datetime_string: '${{ env.get("RAPIDS_DATE_STRING") }}' + datetime_string: '${{ env.get("RAPIDS_DATETIME_STRING") }}' py_version: ${{ env.get("RAPIDS_PY_VERSION") }} py_buildstring: ${{ py_version | version_to_buildstring }} head_rev: '${{ git.head_rev(".")[:8] }}' @@ -20,7 +20,7 @@ source: path: ../../.. build: - string: cuda${{ cuda_major }}_py${{ py_buildstring }}_${{ date_string }}_${{ head_rev }} + string: cuda${{ cuda_major }}_py${{ py_buildstring }}_${{ datetime_string }}_${{ head_rev }} dynamic_linking: overlinking_behavior: error prefix_detection: diff --git a/conda/recipes/libcuopt/recipe.yaml b/conda/recipes/libcuopt/recipe.yaml index b14bf8c520..aff88cd058 100644 --- a/conda/recipes/libcuopt/recipe.yaml +++ b/conda/recipes/libcuopt/recipe.yaml @@ -7,7 +7,7 @@ context: minor_version: ${{ (version | split("."))[:2] | join(".") }} cuda_version: ${{ (env.get("RAPIDS_CUDA_VERSION") | split("."))[:2] | join(".") }} cuda_major: '${{ (env.get("RAPIDS_CUDA_VERSION") | split("."))[0] }}' - datetime_string: '${{ env.get("RAPIDS_DATE_STRING") }}' + datetime_string: '${{ env.get("RAPIDS_DATETIME_STRING") }}' head_rev: '${{ git.head_rev(".")[:8] }}' build_type: '${{ env.get("RAPIDS_BUILD_TYPE") }}' @@ -114,7 +114,7 @@ outputs: ignore: # See https://github.com/rapidsai/build-planning/issues/160 - lib/libcuopt.so - string: cuda${{ cuda_major }}_${{ date_string }}_${{ head_rev }} + string: cuda${{ cuda_major }}_${{ datetime_string }}_${{ head_rev }} requirements: build: - cmake ${{ cmake_version }} @@ -181,7 +181,7 @@ outputs: cmake --install cpp/build --component testing dynamic_linking: overlinking_behavior: "error" - string: cuda${{ cuda_major }}_${{ date_string }}_${{ head_rev }} + string: cuda${{ cuda_major }}_${{ datetime_string }}_${{ head_rev }} requirements: build: - cmake ${{ cmake_version }} From 068e8fe0dff8cda4dec9fef9b92f1b11e509d9e1 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Tue, 4 Aug 2026 14:59:18 -0500 Subject: [PATCH 3/7] references to 'main' --- .github/workflows/build.yaml | 12 ++++++------ .github/workflows/pr.yaml | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 3622942758..f8dcc07787 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -56,7 +56,7 @@ jobs: pull-requests: read needs: [build-details] secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@release/26.08 + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@main with: build_type: ${{ inputs.build_type || 'branch' }} build-datetime: ${{ needs.build-details.outputs.build-datetime }} @@ -73,7 +73,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@release/26.08 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@main with: build_type: ${{ inputs.build_type || 'branch' }} build-datetime: ${{ needs.build-details.outputs.build-datetime }} @@ -107,7 +107,7 @@ jobs: pull-requests: read needs: [build-details] secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/26.08 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main with: build_type: ${{ inputs.build_type || 'branch' }} build-datetime: ${{ needs.build-details.outputs.build-datetime }} @@ -147,7 +147,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/26.08 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main with: build_type: ${{ inputs.build_type || 'branch' }} build-datetime: ${{ needs.build-details.outputs.build-datetime }} @@ -186,7 +186,7 @@ jobs: pull-requests: read needs: [build-details] secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/26.08 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main with: build_type: ${{ inputs.build_type || 'branch' }} build-datetime: ${{ needs.build-details.outputs.build-datetime }} @@ -249,7 +249,7 @@ jobs: pull-requests: read needs: [build-details] secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/26.08 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main with: build_type: ${{ inputs.build_type || 'branch' }} build-datetime: ${{ needs.build-details.outputs.build-datetime }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index f6a0a29f09..d8bcbcfc68 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -355,7 +355,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@release/26.08 + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@main with: build_type: pull-request build-datetime: ${{ needs.build-details.outputs.build-datetime }} @@ -407,7 +407,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@release/26.08 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@main with: build_type: pull-request build-datetime: ${{ needs.build-details.outputs.build-datetime }} @@ -455,7 +455,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/26.08 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main with: # build for every combination of arch and CUDA version, but only for the latest Python matrix_filter: ${{ needs.compute-matrix-filters.outputs.libcuopt_filter }} @@ -474,7 +474,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/26.08 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main with: build_type: pull-request build-datetime: ${{ needs.build-details.outputs.build-datetime }} @@ -511,7 +511,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/26.08 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main with: build_type: pull-request build-datetime: ${{ needs.build-details.outputs.build-datetime }} @@ -531,7 +531,7 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/26.08 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main with: build_type: pull-request build-datetime: ${{ needs.build-details.outputs.build-datetime }} From cf6182005224bc36b8f1941948e6077800e1214a Mon Sep 17 00:00:00 2001 From: James Lamb Date: Tue, 4 Aug 2026 15:33:06 -0500 Subject: [PATCH 4/7] move build-details down --- .github/workflows/pr.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index d8bcbcfc68..f90fe3ace8 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -15,8 +15,6 @@ concurrency: permissions: {} jobs: - build-details: - uses: rapidsai/shared-workflows/.github/workflows/compute-build-details.yaml@main pr-builder: needs: - build-details @@ -43,6 +41,8 @@ jobs: if: always() with: needs: ${{ toJSON(needs) }} + build-details: + uses: rapidsai/shared-workflows/.github/workflows/compute-build-details.yaml@main compute-matrix-filters: permissions: contents: read @@ -60,7 +60,6 @@ jobs: echo "cuopt_server_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))]))" >> $GITHUB_OUTPUT echo "cuopt_server_test_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))]))" >> $GITHUB_OUTPUT echo "cuopt_sh_client_filter=[map(select(.ARCH == \"amd64\")) | min_by((.PY_VER | split(\".\") | map(tonumber)), (.CUDA_VER | split(\".\") | map(-tonumber)))]" >> $GITHUB_OUTPUT - changed-files: permissions: actions: read From 80290f4b599219568c5f58c1e551949fb85c25ef Mon Sep 17 00:00:00 2001 From: James Lamb Date: Thu, 6 Aug 2026 13:31:02 -0500 Subject: [PATCH 5/7] revert unnecessary whitespace changes (probably from a merge) --- .github/workflows/pr.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index cac35b2556..b182380e4c 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -60,6 +60,7 @@ jobs: echo "cuopt_server_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))]))" >> $GITHUB_OUTPUT echo "cuopt_server_test_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))]))" >> $GITHUB_OUTPUT echo "cuopt_sh_client_filter=[map(select(.ARCH == \"amd64\")) | min_by((.PY_VER | split(\".\") | map(tonumber)), (.CUDA_VER | split(\".\") | map(-tonumber)))]" >> $GITHUB_OUTPUT + changed-files: permissions: actions: read From f7b4af7ae8e34d3896732b44066802c4c46369d0 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Thu, 6 Aug 2026 21:32:52 -0500 Subject: [PATCH 6/7] empty commit to re-trigger CI (GitHub claims its outage is over) From e5b1aa93a52c041370aa064c371d71f656814b28 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Fri, 7 Aug 2026 09:36:10 -0500 Subject: [PATCH 7/7] allow more version components in check_client_version() --- python/cuopt_server/cuopt_server/utils/job_queue.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/cuopt_server/cuopt_server/utils/job_queue.py b/python/cuopt_server/cuopt_server/utils/job_queue.py index 8ddb41c4e1..ac067e5e0d 100644 --- a/python/cuopt_server/cuopt_server/utils/job_queue.py +++ b/python/cuopt_server/cuopt_server/utils/job_queue.py @@ -51,7 +51,7 @@ class PickleForbidden(Exception): def check_client_version(client_vers): logging.debug(f"client_vers is {client_vers} in check") if os.environ.get("CUOPT_CHECK_CLIENT", True) in ["True", True]: - major, minor, _ = __version__.split(".") + major, minor, *_ = __version__.split(".") matches = False if client_vers == "custom": return []