Skip to content

Python bindings for streaming alltoall and simple test #3712

Python bindings for streaming alltoall and simple test

Python bindings for streaming alltoall and simple test #3712

Workflow file for this run

name: pr
on:
push:
branches:
- "pull-request/[0-9]+"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
pr-builder:
needs:
- changed-files
- checks
- conda-cpp-build
- conda-cpp-linters
- conda-cpp-tests
- conda-cpp-memcheck
- conda-python-build
- conda-python-tests
- docs-build
- wheel-build-librapidsmpf
- wheel-build-rapidsmpf
- wheel-build-rapidsmpf-singlecomm
- wheel-test
- devcontainer
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@main
if: always()
with:
needs: ${{ toJSON(needs) }}
changed-files:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/changed-files.yaml@main
with:
files_yaml: |
build_docs:
- '**'
- '!.clang-tidy'
- '!.devcontainer/**'
- '!.github/CODEOWNERS'
- '!.github/copy-pr-bot.yaml'
- '!.github/labeler.yml'
- '!.github/ops-bot.yaml'
- '!.github/release.yml'
- '!.pre-commit-config.yaml'
- '!.shellcheckrc'
- '!ci/build_wheel*.sh'
- '!ci/check_style.sh'
- '!ci/release/update-version.sh'
- '!ci/run*.sh'
- '!ci/test*.sh'
- '!ci/timeout_with_stack.py'
- '!ci/validate_topology_json.py'
- '!ci/validate_wheel.sh'
- '!valgrind.supp'
test_cpp:
- '**'
- '!.devcontainer/**'
- '!.github/CODEOWNERS'
- '!.github/copy-pr-bot.yaml'
- '!.github/labeler.yml'
- '!.github/ops-bot.yaml'
- '!.github/release.yml'
- '!.pre-commit-config.yaml'
- '!.shellcheckrc'
- '!CONTRIBUTING.md'
- '!README.md'
- '!ci/build_docs.sh'
- '!ci/build_python.sh'
- '!ci/build_wheel*.sh'
- '!ci/check_style.sh'
- '!ci/release/update-version.sh'
- '!ci/test_python.sh'
- '!ci/test_wheel.sh'
- '!ci/validate_wheel.sh'
- '!docs/**'
- '!python/**'
test_python_conda:
- '**'
- '!.devcontainer/**'
- '!.github/CODEOWNERS'
- '!.github/copy-pr-bot.yaml'
- '!.github/labeler.yml'
- '!.github/ops-bot.yaml'
- '!.github/release.yml'
- '!.pre-commit-config.yaml'
- '!.shellcheckrc'
- '!CONTRIBUTING.md'
- '!README.md'
- '!ci/build_docs.sh'
- '!ci/build_wheel*.sh'
- '!ci/check_style.sh'
- '!ci/release/update-version.sh'
- '!ci/run_cpp*.sh'
- '!ci/test_cpp*.sh'
- '!ci/test_wheel.sh'
- '!ci/validate_wheel.sh'
- '!cpp/.clang-format'
- '!cpp/doxygen/**'
- '!docs/**'
test_python_wheels:
- '**'
- '!.devcontainer/**'
- '!.github/CODEOWNERS'
- '!.github/copy-pr-bot.yaml'
- '!.github/labeler.yml'
- '!.github/ops-bot.yaml'
- '!.github/release.yml'
- '!.pre-commit-config.yaml'
- '!.shellcheckrc'
- '!CONTRIBUTING.md'
- '!README.md'
- '!ci/build_cpp.sh'
- '!ci/build_docs.sh'
- '!ci/build_python.sh'
- '!ci/check_style.sh'
- '!ci/release/update-version.sh'
- '!ci/run_cpp*.sh'
- '!ci/run_ctests.sh'
- '!ci/test_cpp*.sh'
- '!ci/test_python.sh'
- '!conda/**'
- '!cpp/.clang-format'
- '!cpp/doxygen/**'
- '!docs/**''
checks:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@main
wheel-build-librapidsmpf:
needs: checks
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main
with:
build_type: pull-request
node_type: cpu8
script: ci/build_wheel_librapidsmpf.sh
package-name: librapidsmpf
package-type: cpp
# build for every combination of arch and CUDA version, but only for the latest Python version
matrix_filter: group_by([.ARCH, (.CUDA_VER|split(".")|map(tonumber)|.[0])]) | map(max_by(.PY_VER|split(".")|map(tonumber)))
wheel-build-rapidsmpf:
needs: [checks, wheel-build-librapidsmpf]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main
with:
build_type: pull-request
node_type: cpu8
script: ci/build_wheel_rapidsmpf.sh
package-name: rapidsmpf
package-type: python
# Build a wheel 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)))
wheel-build-rapidsmpf-singlecomm:
needs: [checks, wheel-build-librapidsmpf]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main
with:
build_type: pull-request
node_type: cpu8
script: ci/build_wheel_singlecomm.sh
package-name: rapidsmpf-singlecomm
package-type: python
# Build a wheel 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)))
wheel-test:
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_wheels
needs: [changed-files, wheel-build-rapidsmpf]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main
with:
build_type: pull-request
container-options: "--cap-add CAP_SYS_PTRACE --shm-size=8g --ulimit=nofile=1000000:1000000"
script: ci/test_wheel.sh
conda-cpp-build:
needs: checks
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@main
with:
build_type: pull-request
node_type: cpu8
script: ci/build_cpp.sh
conda-cpp-linters:
secrets: inherit
needs: checks
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main
with:
build_type: pull-request
script: "ci/cpp_linters.sh"
node_type: "cpu16"
conda-cpp-tests:
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp
needs: [changed-files, conda-cpp-build]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@main
with:
build_type: pull-request
container-options: "--cap-add CAP_SYS_PTRACE --shm-size=8g --ulimit=nofile=1000000:1000000"
script: ci/test_cpp.sh
conda-cpp-memcheck:
secrets: inherit
needs: conda-cpp-build
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main
with:
build_type: pull-request
script: "ci/test_cpp_memcheck.sh"
node_type: "gpu-l4-latest-1"
conda-python-build:
needs: conda-cpp-build
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:
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_conda
needs: [changed-files, conda-python-build]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@main
with:
build_type: pull-request
container-options: "--cap-add CAP_SYS_PTRACE --shm-size=8g --ulimit=nofile=1000000:1000000"
run_codecov: false
script: ci/test_python.sh
docs-build:
needs: [conda-python-build, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main
if: fromJSON(needs.changed-files.outputs.changed_file_groups).build_docs
with:
build_type: pull-request
node_type: "cpu8"
arch: "amd64"
# TODO: switch to {rapids-version}-latest when there are 'ray' packages for Python 3.14
# ref: https://github.com/rapidsai/rapidsmpf/issues/897
container_image: "rapidsai/ci-conda:26.06-cuda13.0.2-ubuntu22.04-py3.13"
script: "ci/build_docs.sh"
devcontainer:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/build-in-devcontainer.yaml@main
with:
arch: '["amd64", "arm64"]'
cuda: '["13.1"]'
python_package_manager: '["conda", "pip"]'
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 \
-DBUILD_TESTS=OFF \
-DBUILD_BENCHMARKS=ON \
-DBUILD_NUMA_SUPPORT=OFF \
2>&1 | tee telemetry-artifacts/build.log;
sccache --show-adv-stats | tee telemetry-artifacts/sccache-stats.txt;