Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 39 additions & 28 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
- telemetry-setup
- third-party-integration-tests-cudf-pandas
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@test-github-artifacts
if: always()
with:
needs: ${{ toJSON(needs) }}
Expand Down Expand Up @@ -71,7 +71,7 @@ jobs:
changed-files:
secrets: inherit
needs: telemetry-setup
uses: rapidsai/shared-workflows/.github/workflows/changed-files.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/changed-files.yaml@test-github-artifacts
with:
files_yaml: |
test_cpp:
Expand Down Expand Up @@ -124,49 +124,49 @@ jobs:
checks:
secrets: inherit
needs: telemetry-setup
uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@test-github-artifacts
with:
enable_check_generated_files: false
ignored_pr_jobs: "telemetry-summarize spark-rapids-jni"
conda-cpp-build:
needs: checks
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@test-github-artifacts
with:
build_type: pull-request
node_type: "cpu16"
cpp-linters:
secrets: inherit
needs: checks
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@test-github-artifacts
with:
build_type: pull-request
run_script: "ci/cpp_linters.sh"
node_type: "cpu16"
conda-cpp-checks:
needs: conda-cpp-build
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@test-github-artifacts
with:
build_type: pull-request
enable_check_symbols: true
conda-cpp-tests:
needs: [conda-cpp-build, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@disable-arm-pr-ci
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@test-github-artifacts
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp
with:
build_type: pull-request
conda-python-build:
needs: conda-cpp-build
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@test-github-artifacts
with:
build_type: pull-request
conda-python-cudf-tests:
needs: [conda-python-build, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@disable-arm-pr-ci
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@test-github-artifacts
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python
with:
build_type: pull-request
Expand All @@ -175,15 +175,15 @@ jobs:
# Tests for dask_cudf, custreamz, cudf_kafka are separated for CI parallelism
needs: [conda-python-build, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@test-github-artifacts
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python
with:
build_type: pull-request
script: "ci/test_python_other.sh"
conda-java-tests:
needs: [conda-cpp-build, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@test-github-artifacts
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_java
with:
build_type: pull-request
Expand All @@ -194,7 +194,7 @@ jobs:
conda-notebook-tests:
needs: [conda-python-build, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@test-github-artifacts
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_notebooks
with:
build_type: pull-request
Expand All @@ -205,7 +205,7 @@ jobs:
docs-build:
needs: conda-python-build
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@test-github-artifacts
with:
build_type: pull-request
node_type: "gpu-l4-latest-1"
Expand All @@ -215,48 +215,56 @@ jobs:
wheel-build-libcudf:
needs: checks
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@test-github-artifacts
with:
# 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)))
build_type: pull-request
node_type: "cpu16"
script: "ci/build_wheel_libcudf.sh"
wheel_type: "cpp"
wheel_name: "libcudf"
wheel-build-pylibcudf:
needs: [checks, wheel-build-libcudf]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@test-github-artifacts
with:
build_type: pull-request
script: "ci/build_wheel_pylibcudf.sh"
wheel_type: "python"
wheel_name: "pylibcudf"
wheel-build-cudf:
needs: wheel-build-pylibcudf
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@test-github-artifacts
with:
build_type: pull-request
script: "ci/build_wheel_cudf.sh"
wheel_type: "python"
wheel-tests-cudf:
needs: [wheel-build-cudf, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@test-github-artifacts
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python
with:
build_type: pull-request
script: ci/test_wheel_cudf.sh
wheel-build-cudf-polars:
needs: wheel-build-pylibcudf
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@test-github-artifacts
with:
# This selects "ARCH=amd64 + the latest supported Python + CUDA".
matrix_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))]))
build_type: pull-request
script: "ci/build_wheel_cudf_polars.sh"
wheel_name: "cudf_polars"
wheel_type: "python"
pure_wheel: true
wheel-tests-cudf-polars:
needs: [wheel-build-cudf-polars, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@test-github-artifacts
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python
with:
# This selects "ARCH=amd64 + the latest supported Python + CUDA".
Expand All @@ -266,7 +274,7 @@ jobs:
cudf-polars-polars-tests:
needs: wheel-build-cudf-polars
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@test-github-artifacts
with:
# This selects "ARCH=amd64 + the latest supported Python + CUDA".
matrix_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))]))
Expand All @@ -275,16 +283,19 @@ jobs:
wheel-build-dask-cudf:
needs: wheel-build-cudf
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@test-github-artifacts
with:
# This selects "ARCH=amd64 + the latest supported Python + CUDA".
matrix_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))]))
build_type: pull-request
script: "ci/build_wheel_dask_cudf.sh"
wheel_name: "dask_cudf"
wheel_type: "python"
pure_wheel: true
wheel-tests-dask-cudf:
needs: [wheel-build-dask-cudf, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@test-github-artifacts
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python
with:
# This selects "ARCH=amd64 + the latest supported Python + CUDA".
Expand All @@ -294,7 +305,7 @@ jobs:
devcontainer:
secrets: inherit
needs: telemetry-setup
uses: rapidsai/shared-workflows/.github/workflows/build-in-devcontainer.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/build-in-devcontainer.yaml@test-github-artifacts
with:
node_type: "cpu32"
arch: '["amd64"]'
Expand All @@ -306,7 +317,7 @@ jobs:
unit-tests-cudf-pandas:
needs: [wheel-build-cudf, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@test-github-artifacts
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python || fromJSON(needs.changed-files.outputs.changed_file_groups).test_cudf_pandas
with:
# This selects "ARCH=amd64 + the latest supported Python + CUDA".
Expand All @@ -316,7 +327,7 @@ jobs:
third-party-integration-tests-cudf-pandas:
needs: conda-python-build
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@test-github-artifacts
with:
build_type: pull-request
branch: ${{ inputs.branch }}
Expand All @@ -331,7 +342,7 @@ jobs:
# run the Pandas unit tests using PR branch
needs: [wheel-build-cudf, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@test-github-artifacts
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python || fromJSON(needs.changed-files.outputs.changed_file_groups).test_cudf_pandas
with:
# This selects "ARCH=amd64 + the latest supported Python + CUDA".
Expand All @@ -343,15 +354,15 @@ jobs:
pandas-tests-diff:
# diff the results of running the Pandas unit tests and publish a job summary
needs: pandas-tests
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@test-github-artifacts
with:
node_type: "cpu4"
build_type: pull-request
run_script: "ci/cudf_pandas_scripts/pandas-tests/diff.sh"
narwhals-tests:
needs: [conda-python-build, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.04
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@test-github-artifacts
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python
with:
build_type: pull-request
Expand Down
2 changes: 1 addition & 1 deletion ci/build_cpp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,4 @@ rapids-telemetry-record sccache-stats.txt sccache --show-adv-stats
# remove build_cache directory
rm -rf "$RAPIDS_CONDA_BLD_OUTPUT_DIR"/build_cache

rapids-upload-conda-to-s3 cpp
# rapids-upload-conda-to-s3 cpp
4 changes: 2 additions & 2 deletions ci/build_docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ rapids-logger "Create test conda environment"
ENV_YAML_DIR="$(mktemp -d)"

rapids-logger "Downloading artifacts from previous jobs"
CPP_CHANNEL=$(rapids-download-conda-from-s3 cpp)
PYTHON_CHANNEL=$(rapids-download-conda-from-s3 python)
CPP_CHANNEL=$(rapids-download-conda-from-github cpp)
PYTHON_CHANNEL=$(rapids-download-conda-from-github python)

rapids-dependency-file-generator \
--output conda \
Expand Down
4 changes: 2 additions & 2 deletions ci/build_python.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ rapids-generate-version > ./VERSION

rapids-logger "Begin py build"

CPP_CHANNEL=$(rapids-download-conda-from-s3 cpp)
CPP_CHANNEL=$(rapids-download-conda-from-github cpp)

RAPIDS_PACKAGE_VERSION=$(head -1 ./VERSION)
export RAPIDS_PACKAGE_VERSION
Expand Down Expand Up @@ -119,4 +119,4 @@ rapids-telemetry-record sccache-stats-cudf-polars.txt sccache --show-adv-stats
# remove build_cache directory
rm -rf "$RAPIDS_CONDA_BLD_OUTPUT_DIR"/build_cache

rapids-upload-conda-to-s3 python
# rapids-upload-conda-to-s3 python
3 changes: 2 additions & 1 deletion ci/build_wheel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ set -euo pipefail

package_name=$1
package_dir=$2
initial_wheel_dir=$3

source rapids-configure-sccache
source rapids-date-string
Expand All @@ -17,7 +18,7 @@ sccache --zero-stats

rapids-logger "Building '${package_name}' wheel"
rapids-telemetry-record build-${package_name}.log rapids-pip-retry wheel \
-w dist \
-w "${initial_wheel_dir}" \
-v \
--no-deps \
--disable-pip-version-check \
Expand Down
20 changes: 11 additions & 9 deletions ci/build_wheel_cudf.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
set -euo pipefail

package_dir="python/cudf"
wheel_dir=${RAPIDS_WHEEL_BLD_OUTPUT_DIR:-"${package_dir}/final_dist"}
initial_wheel_dir=$(mktemp -d)

RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen "${RAPIDS_CUDA_VERSION}")"

Expand All @@ -12,22 +14,22 @@ RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen "${RAPIDS_CUDA_VERSION}")"
#
# Using env variable PIP_CONSTRAINT is necessary to ensure the constraints
# are used when creating the isolated build environment.
RAPIDS_PY_WHEEL_NAME="libcudf_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-s3 cpp /tmp/libcudf_dist
RAPIDS_PY_WHEEL_NAME="pylibcudf_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-s3 python /tmp/pylibcudf_dist
echo "libcudf-${RAPIDS_PY_CUDA_SUFFIX} @ file://$(echo /tmp/libcudf_dist/libcudf_*.whl)" > /tmp/constraints.txt
echo "pylibcudf-${RAPIDS_PY_CUDA_SUFFIX} @ file://$(echo /tmp/pylibcudf_dist/pylibcudf_*.whl)" >> /tmp/constraints.txt
CPP_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="libcudf_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-github cpp)
PYTHON_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="pylibcudf_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-github python)
echo "libcudf-${RAPIDS_PY_CUDA_SUFFIX} @ file://$(echo ${CPP_WHEELHOUSE}/libcudf_*.whl)" > /tmp/constraints.txt
echo "pylibcudf-${RAPIDS_PY_CUDA_SUFFIX} @ file://$(echo ${PYTHON_WHEELHOUSE}/pylibcudf_*.whl)" >> /tmp/constraints.txt
export PIP_CONSTRAINT="/tmp/constraints.txt"

./ci/build_wheel.sh cudf ${package_dir}
./ci/build_wheel.sh cudf ${package_dir} ${initial_wheel_dir}

python -m auditwheel repair \
--exclude libcudf.so \
--exclude libnvcomp.so \
--exclude libkvikio.so \
--exclude librapids_logger.so \
-w ${package_dir}/final_dist \
${package_dir}/dist/*
-w ${wheel_dir} \
"${initial_wheel_dir}"/*

./ci/validate_wheel.sh ${package_dir} final_dist
./ci/validate_wheel.sh ${package_dir} ${wheel_dir}

RAPIDS_PY_WHEEL_NAME="cudf_${RAPIDS_PY_CUDA_SUFFIX}" rapids-upload-wheels-to-s3 python ${package_dir}/final_dist
# RAPIDS_PY_WHEEL_NAME="cudf_${RAPIDS_PY_CUDA_SUFFIX}" rapids-upload-wheels-to-s3 python ${package_dir}/final_dist
9 changes: 5 additions & 4 deletions ci/build_wheel_cudf_polars.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@
set -euo pipefail

package_dir="python/cudf_polars"
wheel_dir=${RAPIDS_WHEEL_BLD_OUTPUT_DIR:-"${package_dir}/dist"}

./ci/build_wheel.sh cudf-polars ${package_dir}
./ci/validate_wheel.sh ${package_dir} dist
./ci/build_wheel.sh cudf-polars ${package_dir} ${wheel_dir}
./ci/validate_wheel.sh ${package_dir} ${wheel_dir}

RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen "${RAPIDS_CUDA_VERSION}")"
RAPIDS_PY_WHEEL_NAME="cudf_polars_${RAPIDS_PY_CUDA_SUFFIX}" RAPIDS_PY_WHEEL_PURE="1" rapids-upload-wheels-to-s3 python ${package_dir}/dist
# RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen "${RAPIDS_CUDA_VERSION}")"
# RAPIDS_PY_WHEEL_NAME="cudf_polars_${RAPIDS_PY_CUDA_SUFFIX}" RAPIDS_PY_WHEEL_PURE="1" rapids-upload-wheels-to-s3 python ${package_dir}/dist
9 changes: 5 additions & 4 deletions ci/build_wheel_dask_cudf.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@
set -euo pipefail

package_dir="python/dask_cudf"
wheel_dir=${RAPIDS_WHEEL_BLD_OUTPUT_DIR:-"${package_dir}/dist"}

./ci/build_wheel.sh dask-cudf ${package_dir}
./ci/validate_wheel.sh ${package_dir} dist
./ci/build_wheel.sh dask-cudf ${package_dir} ${wheel_dir}
./ci/validate_wheel.sh ${package_dir} ${wheel_dir}

RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen "${RAPIDS_CUDA_VERSION}")"
RAPIDS_PY_WHEEL_NAME="dask_cudf_${RAPIDS_PY_CUDA_SUFFIX}" RAPIDS_PY_WHEEL_PURE="1" rapids-upload-wheels-to-s3 python ${package_dir}/dist
# RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen "${RAPIDS_CUDA_VERSION}")"
# RAPIDS_PY_WHEEL_NAME="dask_cudf_${RAPIDS_PY_CUDA_SUFFIX}" RAPIDS_PY_WHEEL_PURE="1" rapids-upload-wheels-to-s3 python ${package_dir}/dist
Loading