Migrate to NVKS for amd64 CI runners #2089
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: pr | |
on: | |
push: | |
branches: | |
- "pull-request/[0-9]+" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
pr-builder: | |
needs: | |
- check-nightly-ci | |
- changed-files | |
- checks | |
- conda-cpp-build | |
- conda-cpp-tests | |
- conda-cpp-checks | |
- conda-python-build | |
- conda-python-tests | |
- docs-build | |
- rust-build | |
- wheel-build-libcuvs | |
- wheel-build-cuvs | |
- wheel-tests-cuvs | |
- devcontainer | |
secrets: inherit | |
uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@nvks-runners | |
if: always() | |
with: | |
needs: ${{ toJSON(needs) }} | |
check-nightly-ci: | |
# Switch to ubuntu-latest once it defaults to a version of Ubuntu that | |
# provides at least Python 3.11 (see | |
# https://docs.python.org/3/library/datetime.html#datetime.date.fromisoformat) | |
runs-on: ubuntu-24.04 | |
env: | |
RAPIDS_GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Check if nightly CI is passing | |
uses: rapidsai/shared-actions/check_nightly_success/dispatch@main | |
with: | |
repo: cuvs | |
changed-files: | |
secrets: inherit | |
uses: rapidsai/shared-workflows/.github/workflows/changed-files.yaml@nvks-runners | |
with: | |
files_yaml: | | |
test_cpp: | |
- '**' | |
- '!.devcontainer/**' | |
- '!.pre-commit-config.yaml' | |
- '!README.md' | |
- '!docs/**' | |
- '!img/**' | |
- '!notebooks/**' | |
- '!python/**' | |
- '!rust/**' | |
- '!thirdparty/LICENSES/**' | |
test_notebooks: | |
- '**' | |
- '!.devcontainer/**' | |
- '!.pre-commit-config.yaml' | |
- '!README.md' | |
- '!rust/**' | |
- '!thirdparty/LICENSES/**' | |
test_python: | |
- '**' | |
- '!.devcontainer/**' | |
- '!.pre-commit-config.yaml' | |
- '!README.md' | |
- '!docs/**' | |
- '!img/**' | |
- '!notebooks/**' | |
- '!rust/**' | |
- '!thirdparty/LICENSES/**' | |
checks: | |
secrets: inherit | |
uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@nvks-runners | |
with: | |
enable_check_generated_files: false | |
conda-cpp-build: | |
needs: checks | |
secrets: inherit | |
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@nvks-runners | |
with: | |
build_type: pull-request | |
node_type: cpu16 | |
conda-cpp-tests: | |
needs: [conda-cpp-build, changed-files] | |
secrets: inherit | |
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@nvks-runners | |
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp | |
with: | |
build_type: pull-request | |
conda-cpp-checks: | |
needs: conda-cpp-build | |
secrets: inherit | |
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@nvks-runners | |
with: | |
build_type: pull-request | |
enable_check_symbols: true | |
symbol_exclusions: (void (thrust::|cub::)) | |
conda-python-build: | |
needs: conda-cpp-build | |
secrets: inherit | |
uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@nvks-runners | |
with: | |
build_type: pull-request | |
conda-python-tests: | |
needs: [conda-python-build, changed-files] | |
secrets: inherit | |
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@nvks-runners | |
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python | |
with: | |
build_type: pull-request | |
docs-build: | |
needs: conda-python-build | |
secrets: inherit | |
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@nvks-runners | |
with: | |
build_type: pull-request | |
node_type: "gpu-l4-latest-1" | |
arch: "amd64" | |
container_image: "rapidsai/ci-conda:latest" | |
run_script: "ci/build_docs.sh" | |
rust-build: | |
needs: conda-cpp-build | |
secrets: inherit | |
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@nvks-runners | |
with: | |
build_type: pull-request | |
node_type: "gpu-l4-latest-1" | |
arch: "amd64" | |
container_image: "rapidsai/ci-conda:latest" | |
run_script: "ci/build_rust.sh" | |
wheel-build-libcuvs: | |
needs: checks | |
secrets: inherit | |
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@nvks-runners | |
with: | |
build_type: pull-request | |
script: ci/build_wheel_libcuvs.sh | |
# build for every combination of arch and CUDA version, but only for the latest Python | |
matrix_filter: group_by([.ARCH, (.CUDA_VER|split(".")|map(tonumber)|.[0])]) | map(max_by(.PY_VER|split(".")|map(tonumber))) | |
wheel-build-cuvs: | |
needs: wheel-build-libcuvs | |
secrets: inherit | |
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@nvks-runners | |
with: | |
build_type: pull-request | |
script: ci/build_wheel_cuvs.sh | |
wheel-tests-cuvs: | |
needs: [wheel-build-cuvs, changed-files] | |
secrets: inherit | |
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@nvks-runners | |
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python | |
with: | |
build_type: pull-request | |
script: ci/test_wheel_cuvs.sh | |
devcontainer: | |
secrets: inherit | |
uses: rapidsai/shared-workflows/.github/workflows/build-in-devcontainer.yaml@nvks-runners | |
with: | |
arch: '["amd64"]' | |
cuda: '["12.5"]' | |
build_command: | | |
sccache -z; | |
build-all --verbose; | |
sccache -s; |