From 61d7c3863f429e90007155ecdba3805c7a65333a Mon Sep 17 00:00:00 2001 From: Gil Forsyth Date: Mon, 6 Jul 2026 10:12:31 -0400 Subject: [PATCH] DNM: test wheel ci on cuda base --- .github/workflows/pr.yaml | 564 +++++++++++++++++++------------------- 1 file changed, 282 insertions(+), 282 deletions(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 006745ea27..4538813f7b 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -14,26 +14,26 @@ jobs: - changed-files - checks - check-c-abi - - conda-cpp-build - - conda-cpp-tests - - conda-cpp-checks - - conda-python-build - - conda-python-tests - - rocky8-clib-standalone-build-matrix - - rocky8-clib-standalone-build - - rocky8-clib-tests-matrix - - rocky8-clib-tests - - conda-java-build-and-tests-matrix - - conda-java-build-and-tests - - rust-build-matrix - - rust-build - - go-build-matrix - - go-build - - docs-build + # - conda-cpp-build + # - conda-cpp-tests + # - conda-cpp-checks + # - conda-python-build + # - conda-python-tests + # - rocky8-clib-standalone-build-matrix + # - rocky8-clib-standalone-build + # - rocky8-clib-tests-matrix + # - rocky8-clib-tests + # - conda-java-build-and-tests-matrix + # - conda-java-build-and-tests + # - rust-build-matrix + # - rust-build + # - go-build-matrix + # - go-build + # - docs-build - wheel-build-libcuvs - wheel-build-cuvs - wheel-tests-cuvs - - devcontainer + # - devcontainer - telemetry-setup uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@main permissions: @@ -383,248 +383,248 @@ jobs: issues: write pull-requests: read uses: ./.github/workflows/check-c-abi.yaml - conda-cpp-build: - needs: checks - permissions: - actions: read - contents: read - id-token: write - packages: read - pull-requests: read - secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@main - with: - build_type: pull-request - node_type: cpu16 - script: ci/build_cpp.sh - conda-cpp-tests: - needs: [conda-cpp-build, changed-files] - permissions: - actions: read - contents: read - id-token: write - packages: read - pull-requests: read - secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@main - if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp - with: - build_type: pull-request - script: ci/test_cpp.sh - conda-cpp-checks: - needs: conda-cpp-build - permissions: - actions: read - contents: read - id-token: write - packages: read - pull-requests: read - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@main - with: - build_type: pull-request - symbol_exclusions: (void (thrust::|cub::)) - package_name: libcuvs - conda-python-build: - needs: conda-cpp-build - permissions: - actions: read - contents: read - id-token: write - packages: read - pull-requests: read - secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@main - with: - build_type: pull-request - script: ci/build_python.sh - # Build a conda package for each CUDA x ARCH x minimum supported Python version - matrix_filter: group_by({CUDA_VER, ARCH}) | map(min_by(.PY_VER | split(".") | map(tonumber))) - conda-python-tests: - needs: [conda-python-build, changed-files] - permissions: - actions: read - contents: read - id-token: write - packages: read - pull-requests: read - secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@main - if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_conda - with: - build_type: pull-request - script: ci/test_python.sh - rocky8-clib-standalone-build-matrix: - needs: checks - permissions: - contents: read - uses: rapidsai/shared-workflows/.github/workflows/compute-matrix.yaml@main - with: - build_type: pull-request - matrix_name: conda-cpp-build - rocky8-clib-standalone-build: - needs: rocky8-clib-standalone-build-matrix - permissions: - actions: read - contents: read - id-token: write - packages: read - pull-requests: read - secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main - strategy: - fail-fast: false - matrix: ${{ fromJSON(needs.rocky8-clib-standalone-build-matrix.outputs.matrix) }} - with: - build_type: pull-request - arch: "${{matrix.arch}}" - date: ${{ inputs.date }}_c - container_image: "rapidsai/ci-wheel:26.08-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" - node_type: "cpu16" - requires_license_builder: true - script: "ci/build_standalone_c.sh --build-tests" - artifact-name: "libcuvs_c_${{ matrix.CUDA_VER }}_${{ matrix.ARCH }}.tar.gz" - file_to_upload: "libcuvs_c.tar.gz" - sha: ${{ inputs.sha }} - rocky8-clib-tests-matrix: - needs: [rocky8-clib-standalone-build, changed-files] - permissions: - contents: read - uses: rapidsai/shared-workflows/.github/workflows/compute-matrix.yaml@main - if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp - with: - build_type: pull-request - matrix_name: conda-cpp-build - rocky8-clib-tests: - needs: rocky8-clib-tests-matrix - permissions: - actions: read - contents: read - id-token: write - packages: read - pull-requests: read - secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main - strategy: - fail-fast: false - matrix: ${{ fromJSON(needs.rocky8-clib-tests-matrix.outputs.matrix) }} - with: - build_type: pull-request - node_type: "gpu-l4-latest-1" - arch: "${{matrix.arch}}" - date: ${{ inputs.date }}_c - container_image: "rapidsai/ci-wheel:26.08-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" - script: "ci/test_standalone_c.sh libcuvs_c_${{ matrix.CUDA_VER }}_${{ matrix.ARCH }}.tar.gz" - sha: ${{ inputs.sha }} - conda-java-build-and-tests-matrix: - needs: [conda-cpp-build, changed-files] - permissions: - contents: read - uses: rapidsai/shared-workflows/.github/workflows/compute-matrix.yaml@main - if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_java || fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp - with: - build_type: pull-request - matrix_name: conda-cpp-build - matrix_filter: map(select(.ARCH == "amd64")) - conda-java-build-and-tests: - needs: conda-java-build-and-tests-matrix - permissions: - actions: read - contents: read - id-token: write - packages: read - pull-requests: read - secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main - # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. - # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. - strategy: - fail-fast: false - matrix: ${{ fromJSON(needs.conda-java-build-and-tests-matrix.outputs.matrix) }} - with: - build_type: pull-request - node_type: "gpu-l4-latest-1" - arch: "amd64" - container_image: "rapidsai/ci-conda:26.08-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" - script: "ci/test_java.sh" - artifact-name: "cuvs-java-cuda${{ matrix.CUDA_VER }}" - file_to_upload: "java/cuvs-java/target/" - rust-build-matrix: - needs: [conda-cpp-build, changed-files] - permissions: - contents: read - uses: rapidsai/shared-workflows/.github/workflows/compute-matrix.yaml@main - if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_rust || fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp - with: - build_type: pull-request - matrix_name: conda-cpp-build - matrix_filter: map(select(.ARCH == "amd64")) - rust-build: - needs: rust-build-matrix - permissions: - actions: read - contents: read - id-token: write - packages: read - pull-requests: read - secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main - # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. - # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. - strategy: - fail-fast: false - matrix: ${{ fromJSON(needs.rust-build-matrix.outputs.matrix) }} - with: - build_type: pull-request - node_type: "gpu-l4-latest-1" - arch: "amd64" - container_image: "rapidsai/ci-conda:26.08-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" - script: "ci/build_rust.sh" - go-build-matrix: - needs: [conda-cpp-build, changed-files] - permissions: - contents: read - uses: rapidsai/shared-workflows/.github/workflows/compute-matrix.yaml@main - if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_go || fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp - with: - build_type: pull-request - matrix_name: conda-cpp-build - matrix_filter: map(select(.ARCH == "amd64")) - go-build: - needs: go-build-matrix - permissions: - actions: read - contents: read - id-token: write - packages: read - pull-requests: read - secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main - # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. - # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. - strategy: - fail-fast: false - matrix: ${{ fromJSON(needs.go-build-matrix.outputs.matrix) }} - with: - build_type: pull-request - node_type: "gpu-l4-latest-1" - arch: "amd64" - container_image: "rapidsai/ci-conda:26.08-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" - script: "ci/build_go.sh" - docs-build: - permissions: - actions: read - contents: read - id-token: write - packages: read - pull-requests: read - secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main - with: - build_type: pull-request - node_type: "gpu-l4-latest-1" - arch: "amd64" - container_image: "rapidsai/ci-conda:26.08-latest" - script: "ci/build_docs.sh" + # conda-cpp-build: + # needs: checks + # permissions: + # actions: read + # contents: read + # id-token: write + # packages: read + # pull-requests: read + # secrets: inherit # zizmor: ignore[secrets-inherit] + # uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@main + # with: + # build_type: pull-request + # node_type: cpu16 + # script: ci/build_cpp.sh + # conda-cpp-tests: + # needs: [conda-cpp-build, changed-files] + # permissions: + # actions: read + # contents: read + # id-token: write + # packages: read + # pull-requests: read + # secrets: inherit # zizmor: ignore[secrets-inherit] + # uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@main + # if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp + # with: + # build_type: pull-request + # script: ci/test_cpp.sh + # conda-cpp-checks: + # needs: conda-cpp-build + # permissions: + # actions: read + # contents: read + # id-token: write + # packages: read + # pull-requests: read + # uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@main + # with: + # build_type: pull-request + # symbol_exclusions: (void (thrust::|cub::)) + # package_name: libcuvs + # conda-python-build: + # needs: conda-cpp-build + # permissions: + # actions: read + # contents: read + # id-token: write + # packages: read + # pull-requests: read + # secrets: inherit # zizmor: ignore[secrets-inherit] + # uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@main + # with: + # build_type: pull-request + # script: ci/build_python.sh + # # Build a conda package for each CUDA x ARCH x minimum supported Python version + # matrix_filter: group_by({CUDA_VER, ARCH}) | map(min_by(.PY_VER | split(".") | map(tonumber))) + # conda-python-tests: + # needs: [conda-python-build, changed-files] + # permissions: + # actions: read + # contents: read + # id-token: write + # packages: read + # pull-requests: read + # secrets: inherit # zizmor: ignore[secrets-inherit] + # uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@main + # if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_conda + # with: + # build_type: pull-request + # script: ci/test_python.sh + # rocky8-clib-standalone-build-matrix: + # needs: checks + # permissions: + # contents: read + # uses: rapidsai/shared-workflows/.github/workflows/compute-matrix.yaml@main + # with: + # build_type: pull-request + # matrix_name: conda-cpp-build + # rocky8-clib-standalone-build: + # needs: rocky8-clib-standalone-build-matrix + # permissions: + # actions: read + # contents: read + # id-token: write + # packages: read + # pull-requests: read + # secrets: inherit # zizmor: ignore[secrets-inherit] + # uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main + # strategy: + # fail-fast: false + # matrix: ${{ fromJSON(needs.rocky8-clib-standalone-build-matrix.outputs.matrix) }} + # with: + # build_type: pull-request + # arch: "${{matrix.arch}}" + # date: ${{ inputs.date }}_c + # container_image: "rapidsai/ci-wheel:26.08-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" + # node_type: "cpu16" + # requires_license_builder: true + # script: "ci/build_standalone_c.sh --build-tests" + # artifact-name: "libcuvs_c_${{ matrix.CUDA_VER }}_${{ matrix.ARCH }}.tar.gz" + # file_to_upload: "libcuvs_c.tar.gz" + # sha: ${{ inputs.sha }} + # rocky8-clib-tests-matrix: + # needs: [rocky8-clib-standalone-build, changed-files] + # permissions: + # contents: read + # uses: rapidsai/shared-workflows/.github/workflows/compute-matrix.yaml@main + # if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp + # with: + # build_type: pull-request + # matrix_name: conda-cpp-build + # rocky8-clib-tests: + # needs: rocky8-clib-tests-matrix + # permissions: + # actions: read + # contents: read + # id-token: write + # packages: read + # pull-requests: read + # secrets: inherit # zizmor: ignore[secrets-inherit] + # uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main + # strategy: + # fail-fast: false + # matrix: ${{ fromJSON(needs.rocky8-clib-tests-matrix.outputs.matrix) }} + # with: + # build_type: pull-request + # node_type: "gpu-l4-latest-1" + # arch: "${{matrix.arch}}" + # date: ${{ inputs.date }}_c + # container_image: "rapidsai/ci-wheel:26.08-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" + # script: "ci/test_standalone_c.sh libcuvs_c_${{ matrix.CUDA_VER }}_${{ matrix.ARCH }}.tar.gz" + # sha: ${{ inputs.sha }} + # conda-java-build-and-tests-matrix: + # needs: [conda-cpp-build, changed-files] + # permissions: + # contents: read + # uses: rapidsai/shared-workflows/.github/workflows/compute-matrix.yaml@main + # if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_java || fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp + # with: + # build_type: pull-request + # matrix_name: conda-cpp-build + # matrix_filter: map(select(.ARCH == "amd64")) + # conda-java-build-and-tests: + # needs: conda-java-build-and-tests-matrix + # permissions: + # actions: read + # contents: read + # id-token: write + # packages: read + # pull-requests: read + # secrets: inherit # zizmor: ignore[secrets-inherit] + # uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main + # # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. + # # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. + # strategy: + # fail-fast: false + # matrix: ${{ fromJSON(needs.conda-java-build-and-tests-matrix.outputs.matrix) }} + # with: + # build_type: pull-request + # node_type: "gpu-l4-latest-1" + # arch: "amd64" + # container_image: "rapidsai/ci-conda:26.08-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" + # script: "ci/test_java.sh" + # artifact-name: "cuvs-java-cuda${{ matrix.CUDA_VER }}" + # file_to_upload: "java/cuvs-java/target/" + # rust-build-matrix: + # needs: [conda-cpp-build, changed-files] + # permissions: + # contents: read + # uses: rapidsai/shared-workflows/.github/workflows/compute-matrix.yaml@main + # if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_rust || fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp + # with: + # build_type: pull-request + # matrix_name: conda-cpp-build + # matrix_filter: map(select(.ARCH == "amd64")) + # rust-build: + # needs: rust-build-matrix + # permissions: + # actions: read + # contents: read + # id-token: write + # packages: read + # pull-requests: read + # secrets: inherit # zizmor: ignore[secrets-inherit] + # uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main + # # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. + # # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. + # strategy: + # fail-fast: false + # matrix: ${{ fromJSON(needs.rust-build-matrix.outputs.matrix) }} + # with: + # build_type: pull-request + # node_type: "gpu-l4-latest-1" + # arch: "amd64" + # container_image: "rapidsai/ci-conda:26.08-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" + # script: "ci/build_rust.sh" + # go-build-matrix: + # needs: [conda-cpp-build, changed-files] + # permissions: + # contents: read + # uses: rapidsai/shared-workflows/.github/workflows/compute-matrix.yaml@main + # if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_go || fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp + # with: + # build_type: pull-request + # matrix_name: conda-cpp-build + # matrix_filter: map(select(.ARCH == "amd64")) + # go-build: + # needs: go-build-matrix + # permissions: + # actions: read + # contents: read + # id-token: write + # packages: read + # pull-requests: read + # secrets: inherit # zizmor: ignore[secrets-inherit] + # uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main + # # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions. + # # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions. + # strategy: + # fail-fast: false + # matrix: ${{ fromJSON(needs.go-build-matrix.outputs.matrix) }} + # with: + # build_type: pull-request + # node_type: "gpu-l4-latest-1" + # arch: "amd64" + # container_image: "rapidsai/ci-conda:26.08-cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }}" + # script: "ci/build_go.sh" + # docs-build: + # permissions: + # actions: read + # contents: read + # id-token: write + # packages: read + # pull-requests: read + # secrets: inherit # zizmor: ignore[secrets-inherit] + # uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main + # with: + # build_type: pull-request + # node_type: "gpu-l4-latest-1" + # arch: "amd64" + # container_image: "rapidsai/ci-conda:26.08-latest" + # script: "ci/build_docs.sh" wheel-build-libcuvs: needs: checks permissions: @@ -670,33 +670,33 @@ jobs: packages: read pull-requests: read secrets: inherit # zizmor: ignore[secrets-inherit] - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@smaller_citestwheel if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_wheels with: build_type: pull-request script: ci/test_wheel_cuvs.sh - devcontainer: - permissions: - actions: read - contents: read - id-token: write - packages: read - pull-requests: read - secrets: inherit # zizmor: ignore[secrets-inherit] - needs: telemetry-setup - uses: rapidsai/shared-workflows/.github/workflows/build-in-devcontainer.yaml@main - with: - arch: '["amd64", "arm64"]' - cuda: '["13.3"]' - node_type: "cpu8" - env: | - SCCACHE_DIST_MAX_RETRIES=inf - SCCACHE_SERVER_LOG=sccache=debug - SCCACHE_DIST_FALLBACK_TO_LOCAL_COMPILE=false - build_command: | - sccache --zero-stats; - build-all -j0 --verbose 2>&1 | tee telemetry-artifacts/build.log; - sccache --show-adv-stats | tee telemetry-artifacts/sccache-stats.txt; + # devcontainer: + # permissions: + # actions: read + # contents: read + # id-token: write + # packages: read + # pull-requests: read + # secrets: inherit # zizmor: ignore[secrets-inherit] + # needs: telemetry-setup + # uses: rapidsai/shared-workflows/.github/workflows/build-in-devcontainer.yaml@main + # with: + # arch: '["amd64", "arm64"]' + # cuda: '["13.3"]' + # node_type: "cpu8" + # env: | + # SCCACHE_DIST_MAX_RETRIES=inf + # SCCACHE_SERVER_LOG=sccache=debug + # SCCACHE_DIST_FALLBACK_TO_LOCAL_COMPILE=false + # build_command: | + # sccache --zero-stats; + # build-all -j0 --verbose 2>&1 | tee telemetry-artifacts/build.log; + # sccache --show-adv-stats | tee telemetry-artifacts/sccache-stats.txt; telemetry-summarize: # This job must use a self-hosted runner to record telemetry traces. runs-on: linux-amd64-cpu4