diff --git a/CHANGELOG.md b/CHANGELOG.md index 6182cf8b8c5c..f1b7db956f4c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -103,8 +103,9 @@ - PR #6273 Update JNI to use ORC options builder - PR #6293 Replace shuffle warp reduce with cub calls - PR #6287 Make java aggregate API follow C++ API +- PR #6303 Use cudf test dtypes so timedelta tests are deterministic +- PR #6329 Update and clean-up gpuCI scripts - PR #6299 Add lead and lag to java -- PR #6303 Use cudf test dtypes so timedelta tests are determinstic - PR #6327 Add dictionary specialization to `cudf::replace_nulls` - PR #6306 Remove cpw macros from page encode kernels - PR #6375 Parallelize Cython compilation in addition to Cythonization @@ -168,7 +169,7 @@ - PR #6294 Fix read parquet key error when reading empty pandas DataFrame with cudf - PR #6285 Removed unsafe `reinterpret_cast` and implicit pointer-to-bool casts - PR #6281 Fix unreachable code warning in datetime.cuh -- PR #6286 Fix `read_csv` `int32` overflow +- PR #6286 Fix `read_csv` `int32` overflow - PR #6466 Fix ORC reader issue with decimal type - PR #6310 Replace a misspelled reference to `master` branch with `main` branch in a comment in changelog.sh - PR #6289 Revert #6206 diff --git a/ci/benchmark/build.sh b/ci/benchmark/build.sh index 57154a13e1f5..df718d279b32 100755 --- a/ci/benchmark/build.sh +++ b/ci/benchmark/build.sh @@ -58,7 +58,8 @@ logger "Check GPU usage..." nvidia-smi logger "Activate conda env..." -source activate rapids +. /opt/conda/etc/profile.d/conda.sh +conda activate rapids # Enter dependencies to be shown in ASV tooltips. CUDF_DEPS=(librmm) @@ -85,7 +86,9 @@ logger "Check versions..." python --version $CC --version $CXX --version -conda list +conda info +conda config --show-sources +conda list --show-channel-urls ################################################################################ # BUILD - Build libcudf, cuDF and dask_cudf from source @@ -164,7 +167,7 @@ set -e rm ${WORKSPACE}/tmp/benchmark/benchmarks.txt cd ${WORKSPACE} mv ${GBENCH_BENCHMARKS_DIR}/*.json ${WORKSPACE}/tmp/benchmark/ -python GBenchToASV.py -d ${WORKSPACE}/tmp/benchmark/ -t ${S3_ASV_DIR} -n libcudf -b branch-${MINOR_VERSION} -r "${REQS}" +python GBenchToASV.py -d ${WORKSPACE}/tmp/benchmark/ -t ${S3_ASV_DIR} -n libcudf -b branch-${MINOR_VERSION} -r "${REQS}" ### # Run Python Benchmarks diff --git a/ci/cpu/build.sh b/ci/cpu/build.sh index e342eaeb07b5..e8dbc7ade10f 100755 --- a/ci/cpu/build.sh +++ b/ci/cpu/build.sh @@ -1,22 +1,24 @@ #!/bin/bash -# Copyright (c) 2018, NVIDIA CORPORATION. -###################################### -# cuDF CPU conda build script for CI # -###################################### +# Copyright (c) 2018-2020, NVIDIA CORPORATION. +############################################## +# cuDF CPU conda build script for CI # +############################################## set -e -# Logger function for build status output -function logger() { - echo -e "\n>>>> $@\n" -} - # Set path and build parallel level -export PATH=/conda/bin:/usr/local/cuda/bin:$PATH -export PARALLEL_LEVEL=4 +export PATH=/opt/conda/bin:/usr/local/cuda/bin:$PATH +export PARALLEL_LEVEL=${PARALLEL_LEVEL:-4} # Set home to the job's workspace export HOME=$WORKSPACE +# Determine CUDA release version +export CUDA_REL=${CUDA_VERSION%.*} + +# Setup 'gpuci_conda_retry' for build retries (results in 2 total attempts) +export GPUCI_CONDA_RETRY_MAX=1 +export GPUCI_CONDA_RETRY_SLEEP=30 + # Switch to project root; also root of repo checkout cd $WORKSPACE @@ -29,45 +31,51 @@ fi # SETUP - Check environment ################################################################################ -logger "Get env..." +gpuci_logger "Check environment variables" env -logger "Activate conda env..." -source activate gdf +gpuci_logger "Activate conda env" +. /opt/conda/etc/profile.d/conda.sh +conda activate rapids -logger "Check versions..." +gpuci_logger "Check compiler versions" python --version -gcc --version -g++ --version -conda list +$CC --version +$CXX --version + +gpuci_logger "Check conda environment" +conda info +conda config --show-sources +conda list --show-channel-urls # FIX Added to deal with Anancoda SSL verification issues during conda builds conda config --set ssl_verify False ################################################################################ -# BUILD - Conda package builds (conda deps: libcudf <- libcudf_cffi <- cudf) +# BUILD - Conda package builds ################################################################################ -logger "Build conda pkg for libcudf..." -source ci/cpu/libcudf/build_libcudf.sh +gpuci_logger "Build conda pkg for libcudf" +gpuci_conda_retry build conda/recipes/libcudf + +gpuci_logger "Build conda pkg for libcudf_kafka" +gpuci_conda_retry build conda/recipes/libcudf_kafka -logger "Build conda pkg for libcudf_kafka..." -source ci/cpu/libcudf_kafka/build_libcudf_kafka.sh +gpuci_logger "Build conda pkg for cudf" +gpuci_conda_retry build conda/recipes/cudf --python=$PYTHON -logger "Build conda pkg for cudf..." -source ci/cpu/cudf/build_cudf.sh +gpuci_logger "Build conda pkg for dask-cudf" +gpuci_conda_retry build conda/recipes/dask-cudf --python=$PYTHON -logger "Build conda pkg for dask-cudf..." -source ci/cpu/dask-cudf/build_dask_cudf.sh +gpuci_logger "Build conda pkg for cudf_kafka" +gpuci_conda_retry build conda/recipes/cudf_kafka --python=$PYTHON -logger "Build conda pkg for cudf_kafka..." -source ci/cpu/cudf_kafka/build_cudf_kafka.sh +gpuci_logger "Build conda pkg for custreamz" +gpuci_conda_retry build conda/recipes/custreamz --python=$PYTHON -logger "Build conda pkg for custreamz..." -source ci/cpu/custreamz/build_custreamz.sh ################################################################################ # UPLOAD - Conda packages ################################################################################ -logger "Upload conda pkgs..." -source ci/cpu/upload_anaconda.sh +gpuci_logger "Upload conda pkgs" +source ci/cpu/upload.sh diff --git a/ci/cpu/cudf/build_cudf.sh b/ci/cpu/cudf/build_cudf.sh deleted file mode 100755 index 8d774847d34c..000000000000 --- a/ci/cpu/cudf/build_cudf.sh +++ /dev/null @@ -1,4 +0,0 @@ -set -e - -echo "Building cudf" -conda build conda/recipes/cudf --python=$PYTHON diff --git a/ci/cpu/cudf_kafka/build_cudf_kafka.sh b/ci/cpu/cudf_kafka/build_cudf_kafka.sh deleted file mode 100755 index 914694f1452e..000000000000 --- a/ci/cpu/cudf_kafka/build_cudf_kafka.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash -set -e - -# Logger function for build status output -function logger() { - echo -e "\n>>>> $@\n" -} - -logger "Building cudf_kafka" -conda build conda/recipes/cudf_kafka --python=$PYTHON diff --git a/ci/cpu/custreamz/build_custreamz.sh b/ci/cpu/custreamz/build_custreamz.sh deleted file mode 100755 index 5b5ee527c2af..000000000000 --- a/ci/cpu/custreamz/build_custreamz.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env bash -set -e - -# Logger function for build status output -function logger() { - echo -e "\n>>>> $@\n" -} - -# If nightly build, append current YYMMDD to version -if [[ "$BUILD_MODE" = "branch" && "$SOURCE_BRANCH" = branch-* ]] ; then - export VERSION_SUFFIX=`date +%y%m%d` -fi - -logger "Building custreamz" -conda build conda/recipes/custreamz --python=$PYTHON diff --git a/ci/cpu/dask-cudf/build_dask_cudf.sh b/ci/cpu/dask-cudf/build_dask_cudf.sh deleted file mode 100755 index cfdc50730d5f..000000000000 --- a/ci/cpu/dask-cudf/build_dask_cudf.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash -set -e - -# Logger function for build status output -function logger() { - echo -e "\n>>>> $@\n" -} - -logger "Building dask_cudf" -conda build conda/recipes/dask-cudf --python=$PYTHON diff --git a/ci/cpu/libcudf/build_libcudf.sh b/ci/cpu/libcudf/build_libcudf.sh deleted file mode 100755 index 8d34f8a8abd2..000000000000 --- a/ci/cpu/libcudf/build_libcudf.sh +++ /dev/null @@ -1,6 +0,0 @@ -set -e - -echo "Building libcudf" -CUDA_REL=${CUDA_VERSION%.*} - -conda build conda/recipes/libcudf diff --git a/ci/cpu/libcudf_kafka/build_libcudf_kafka.sh b/ci/cpu/libcudf_kafka/build_libcudf_kafka.sh deleted file mode 100755 index 80b0cbf83e21..000000000000 --- a/ci/cpu/libcudf_kafka/build_libcudf_kafka.sh +++ /dev/null @@ -1,6 +0,0 @@ -set -e - -echo "Building libcudf_kafka" -CUDA_REL=${CUDA_VERSION%.*} - -conda build conda/recipes/libcudf_kafka diff --git a/ci/cpu/upload.sh b/ci/cpu/upload.sh new file mode 100755 index 000000000000..d6fa2c399aa4 --- /dev/null +++ b/ci/cpu/upload.sh @@ -0,0 +1,79 @@ +#!/bin/bash +# +# Adopted from https://github.com/tmcdonell/travis-scripts/blob/dfaac280ac2082cd6bcaba3217428347899f2975/update-accelerate-buildbot.sh + +set -e + +# Setup 'gpuci_retry' for upload retries (results in 4 total attempts) +export GPUCI_RETRY_MAX=3 +export GPUCI_RETRY_SLEEP=30 + +# Set default label options if they are not defined elsewhere +export LABEL_OPTION=${LABEL_OPTION:-"--label main"} + +# Skip uploads unless BUILD_MODE == "branch" +if [ ${BUILD_MODE} != "branch" ]; then + echo "Skipping upload" + return 0 +fi + +# Skip uploads if there is no upload key +if [ -z "$MY_UPLOAD_KEY" ]; then + echo "No upload key" + return 0 +fi + +################################################################################ +# SETUP - Get conda file output locations +################################################################################ + +gpuci_logger "Get conda file output locations" +export LIBCUDF_FILE=`conda build conda/recipes/libcudf --output` +export LIBCUDF_KAFKA_FILE=`conda build conda/recipes/libcudf_kafka --output` +export CUDF_FILE=`conda build conda/recipes/cudf --python=$PYTHON --output` +export DASK_CUDF_FILE=`conda build conda/recipes/dask-cudf --python=$PYTHON --output` +export CUDF_KAFKA_FILE=`conda build conda/recipes/cudf_kafka --python=$PYTHON --output` +export CUSTREAMZ_FILE=`conda build conda/recipes/custreamz --python=$PYTHON --output` + +################################################################################ +# UPLOAD - Conda packages +################################################################################ + +gpuci_logger "Starting conda uploads" +if [ "$UPLOAD_LIBCUDF" == "1" ]; then + test -e ${LIBCUDF_FILE} + echo "Upload libcudf" + echo ${LIBCUDF_FILE} + gpuci_retry anaconda -t ${MY_UPLOAD_KEY} upload -u ${CONDA_USERNAME:-rapidsai} ${LABEL_OPTION} --skip-existing ${LIBCUDF_FILE} +fi + +if [ "$UPLOAD_CUDF" == "1" ]; then + test -e ${CUDF_FILE} + echo "Upload cudf" + echo ${CUDF_FILE} + gpuci_retry anaconda -t ${MY_UPLOAD_KEY} upload -u ${CONDA_USERNAME:-rapidsai} ${LABEL_OPTION} --skip-existing ${CUDF_FILE} + + test -e ${DASK_CUDF_FILE} + echo "Upload dask-cudf" + echo ${DASK_CUDF_FILE} + gpuci_retry anaconda -t ${MY_UPLOAD_KEY} upload -u ${CONDA_USERNAME:-rapidsai} ${LABEL_OPTION} --skip-existing ${DASK_CUDF_FILE} + + test -e ${CUSTREAMZ_FILE} + echo "Upload custreamz" + echo ${CUSTREAMZ_FILE} + gpuci_retry anaconda -t ${MY_UPLOAD_KEY} upload -u ${CONDA_USERNAME:-rapidsai} ${LABEL_OPTION} --skip-existing ${CUSTREAMZ_FILE} +fi + +if [ "$UPLOAD_LIBCUDF_KAFKA" == "1" ]; then + test -e ${LIBCUDF_KAFKA_FILE} + echo "Upload libcudf_kafka" + echo ${LIBCUDF_KAFKA_FILE} + gpuci_retry anaconda -t ${MY_UPLOAD_KEY} upload -u ${CONDA_USERNAME:-rapidsai} ${LABEL_OPTION} --skip-existing ${LIBCUDF_KAFKA_FILE} +fi + +if [ "$UPLOAD_CUDF_KAFKA" == "1" ]; then + test -e ${CUDF_KAFKA_FILE} + echo "Upload cudf_kafka" + echo ${CUDF_KAFKA_FILE} + gpuci_retry anaconda -t ${MY_UPLOAD_KEY} upload -u ${CONDA_USERNAME:-rapidsai} ${LABEL_OPTION} --skip-existing ${CUDF_KAFKA_FILE} +fi diff --git a/ci/cpu/upload_anaconda.sh b/ci/cpu/upload_anaconda.sh deleted file mode 100755 index 8d13650b0ae9..000000000000 --- a/ci/cpu/upload_anaconda.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash -# -# Adopted from https://github.com/tmcdonell/travis-scripts/blob/dfaac280ac2082cd6bcaba3217428347899f2975/update-accelerate-buildbot.sh - -set -e - -export LIBCUDF_FILE=`conda build conda/recipes/libcudf --output` -export CUDF_FILE=`conda build conda/recipes/cudf --python=$PYTHON --output` -export DASK_CUDF_FILE=`conda build conda/recipes/dask-cudf --python=$PYTHON --output` -export LIBCUDF_KAFKA_FILE=`conda build conda/recipes/libcudf_kafka --output` -export CUDF_KAFKA_FILE=`conda build conda/recipes/cudf_kafka --python=$PYTHON --output` -export CUSTREAMZ_FILE=`conda build conda/recipes/custreamz --python=$PYTHON --output` - -CUDA_REL=${CUDA_VERSION%.*} - -if [ ${BUILD_MODE} != "branch" ]; then - echo "Skipping upload" - return 0 -fi - -if [ -z "$MY_UPLOAD_KEY" ]; then - echo "No upload key" - return 0 -fi - -if [ "$UPLOAD_LIBCUDF" == "1" ]; then - LABEL_OPTION="--label main" - echo "LABEL_OPTION=${LABEL_OPTION}" - - test -e ${LIBCUDF_FILE} - echo "Upload libcudf" - echo ${LIBCUDF_FILE} - anaconda -t ${MY_UPLOAD_KEY} upload -u ${CONDA_USERNAME:-rapidsai} ${LABEL_OPTION} --skip-existing ${LIBCUDF_FILE} -fi - -if [ "$UPLOAD_CUDF" == "1" ]; then - LABEL_OPTION="--label main" - echo "LABEL_OPTION=${LABEL_OPTION}" - - test -e ${CUDF_FILE} - echo "Upload cudf" - echo ${CUDF_FILE} - anaconda -t ${MY_UPLOAD_KEY} upload -u ${CONDA_USERNAME:-rapidsai} ${LABEL_OPTION} --skip-existing ${CUDF_FILE} - - test -e ${DASK_CUDF_FILE} - echo "Upload dask-cudf" - echo ${DASK_CUDF_FILE} - anaconda -t ${MY_UPLOAD_KEY} upload -u ${CONDA_USERNAME:-rapidsai} ${LABEL_OPTION} --skip-existing ${DASK_CUDF_FILE} - - test -e ${CUSTREAMZ_FILE} - echo "Upload custreamz" - echo ${CUSTREAMZ_FILE} - anaconda -t ${MY_UPLOAD_KEY} upload -u ${CONDA_USERNAME:-rapidsai} ${LABEL_OPTION} --skip-existing ${CUSTREAMZ_FILE} -fi - -if [ "$UPLOAD_LIBCUDF_KAFKA" == "1" ]; then - LABEL_OPTION="--label main" - echo "LABEL_OPTION=${LABEL_OPTION}" - - test -e ${LIBCUDF_KAFKA_FILE} - echo "Upload libcudf_kafka" - echo ${LIBCUDF_KAFKA_FILE} - anaconda -t ${MY_UPLOAD_KEY} upload -u ${CONDA_USERNAME:-rapidsai} ${LABEL_OPTION} --skip-existing ${LIBCUDF_KAFKA_FILE} -fi - -if [ "$UPLOAD_CUDF_KAFKA" == "1" ]; then - LABEL_OPTION="--label main" - echo "LABEL_OPTION=${LABEL_OPTION}" - - test -e ${CUDF_KAFKA_FILE} - echo "Upload cudf_kafka" - echo ${CUDF_KAFKA_FILE} - anaconda -t ${MY_UPLOAD_KEY} upload -u ${CONDA_USERNAME:-rapidsai} ${LABEL_OPTION} --skip-existing ${CUDF_KAFKA_FILE} -fi diff --git a/ci/docs/build.sh b/ci/docs/build.sh index 4ffd5f0e7632..115c052cdb1e 100755 --- a/ci/docs/build.sh +++ b/ci/docs/build.sh @@ -18,33 +18,32 @@ export LIBCUDF_KERNEL_CACHE_PATH="$HOME/.jitify-cache" export NIGHTLY_VERSION=$(echo $BRANCH_VERSION | awk -F. '{print $2}') export PROJECTS=(cudf libcudf) -logger "Check environment..." +gpuci_logger "Check environment..." env -logger "Check GPU usage..." +gpuci_logger "Check GPU usage..." nvidia-smi -logger "Activate conda env..." -source activate rapids -# TODO: Move installs to docs-build-env meta package -conda install -c anaconda beautifulsoup4 jq -pip install sphinx-markdown-tables +gpuci_logger "Activate conda env..." +. /opt/conda/etc/profile.d/conda.sh +conda activate rapids - -logger "Check versions..." +gpuci_logger "Check versions..." python --version $CC --version $CXX --version -conda list +conda info +conda config --show-sources +conda list --show-channel-urls #libcudf Doxygen build -logger "Build libcudf docs..." +gpuci_logger "Build libcudf docs..." cd $PROJECT_WORKSPACE/cpp/doxygen doxygen Doxyfile #cudf Sphinx Build -logger "Build cuDF docs..." +gpuci_logger "Build cuDF docs..." cd $PROJECT_WORKSPACE/docs/cudf make html @@ -55,7 +54,7 @@ for PROJECT in ${PROJECTS[@]}; do if [ ! -d "api/$PROJECT/$BRANCH_VERSION" ]; then mkdir -p api/$PROJECT/$BRANCH_VERSION fi - rm -rf $DOCS_WORKSPACE/api/$PROJECT/$BRANCH_VERSION/* + rm -rf $DOCS_WORKSPACE/api/$PROJECT/$BRANCH_VERSION/* done diff --git a/ci/gpu/build.sh b/ci/gpu/build.sh index 74f93652bd0f..ac7e521fb50e 100755 --- a/ci/gpu/build.sh +++ b/ci/gpu/build.sh @@ -1,98 +1,113 @@ #!/bin/bash -# Copyright (c) 2018, NVIDIA CORPORATION. -######################################### -# cuDF GPU build and test script for CI # -######################################### +# Copyright (c) 2018-2020, NVIDIA CORPORATION. +############################################## +# cuDF GPU build and test script for CI # +############################################## set -e NUMARGS=$# ARGS=$* -# Logger function for build status output -function logger() { - echo -e "\n>>>> $@\n" -} - # Arg parsing function function hasArg { (( ${NUMARGS} != 0 )) && (echo " ${ARGS} " | grep -q " $1 ") } # Set path and build parallel level -export PATH=/conda/bin:/usr/local/cuda/bin:$PATH -export PARALLEL_LEVEL=4 -export CUDA_REL=${CUDA_VERSION%.*} +export PATH=/opt/conda/bin:/usr/local/cuda/bin:$PATH +export PARALLEL_LEVEL=${PARALLEL_LEVEL:-4} # Set home to the job's workspace export HOME=$WORKSPACE -# Parse git describe +# Switch to project root; also root of repo checkout cd $WORKSPACE + +# Determine CUDA release version +export CUDA_REL=${CUDA_VERSION%.*} + +# Parse git describe export GIT_DESCRIBE_TAG=`git describe --tags` export MINOR_VERSION=`echo $GIT_DESCRIBE_TAG | grep -o -E '([0-9]+\.[0-9]+)'` -# Set `LIBCUDF_KERNEL_CACHE_PATH` environment variable to $HOME/.jitify-cache because -# it's local to the container's virtual file system, and not shared with other CI jobs -# like `/tmp` is. + +################################################################################ +# TRAP - Setup trap for removing jitify cache +################################################################################ + +# Set `LIBCUDF_KERNEL_CACHE_PATH` environment variable to $HOME/.jitify-cache +# because it's local to the container's virtual file system, and not shared with +# other CI jobs like `/tmp` is export LIBCUDF_KERNEL_CACHE_PATH="$HOME/.jitify-cache" function remove_libcudf_kernel_cache_dir { EXITCODE=$? - logger "removing kernel cache dir: $LIBCUDF_KERNEL_CACHE_PATH" - rm -rf "$LIBCUDF_KERNEL_CACHE_PATH" || logger "could not rm -rf $LIBCUDF_KERNEL_CACHE_PATH" + gpuci_logger "TRAP: Removing kernel cache dir: $LIBCUDF_KERNEL_CACHE_PATH" + rm -rf "$LIBCUDF_KERNEL_CACHE_PATH" \ + || gpuci_logger "[ERROR] TRAP: Could not rm -rf $LIBCUDF_KERNEL_CACHE_PATH" exit $EXITCODE } +# Set trap to run on exit +gpuci_logger "TRAP: Set trap to remove jitify cache on exit" trap remove_libcudf_kernel_cache_dir EXIT -mkdir -p "$LIBCUDF_KERNEL_CACHE_PATH" || logger "could not mkdir -p $LIBCUDF_KERNEL_CACHE_PATH" +mkdir -p "$LIBCUDF_KERNEL_CACHE_PATH" \ + || gpuci_logger "[ERROR] TRAP: Could not mkdir -p $LIBCUDF_KERNEL_CACHE_PATH" ################################################################################ # SETUP - Check environment ################################################################################ -logger "Check environment..." +gpuci_logger "Check environment variables" env -logger "Check GPU usage..." +gpuci_logger "Check GPU usage" nvidia-smi -logger "Activate conda env..." -source activate rapids +gpuci_logger "Activate conda env" +. /opt/conda/etc/profile.d/conda.sh +conda activate rapids -# Install contextvars on Python 3.6 -py_ver=$(python -c "import sys; print('.'.join(map(str, sys.version_info[:2])))") -if [ "$py_ver" == "3.6" ];then - conda install contextvars -fi +gpuci_logger "Check conda environment" +conda info +conda config --show-sources +conda list --show-channel-urls -conda install "rmm=$MINOR_VERSION.*" "cudatoolkit=$CUDA_REL" \ - "rapids-build-env=$MINOR_VERSION.*" \ - "rapids-notebook-env=$MINOR_VERSION.*" \ - "dask-cuda=${MINOR_VERSION}" \ - "ucx-py=${MINOR_VERSION}" \ +gpuci_logger "Install dependencies" +gpuci_conda_retry install -y \ + "cudatoolkit=$CUDA_REL" \ + "rapids-build-env=$MINOR_VERSION.*" \ + "rapids-notebook-env=$MINOR_VERSION.*" \ + "dask-cuda=${MINOR_VERSION}" \ + "rmm=$MINOR_VERSION.*" \ + "ucx-py=${MINOR_VERSION}" # https://docs.rapids.ai/maintainers/depmgmt/ -# conda remove -f rapids-build-env rapids-notebook-env -# conda install "your-pkg=1.0.0" +# gpuci_conda_retry remove --force rapids-build-env rapids-notebook-env +# gpuci_conda_retry install -y "your-pkg=1.0.0" # Install the master version of dask, distributed, and streamz -logger "pip install git+https://github.com/dask/distributed.git --upgrade --no-deps" +gpuci_logger "Install the master version of dask, distributed, and streamz" +set -x pip install "git+https://github.com/dask/distributed.git" --upgrade --no-deps -logger "pip install git+https://github.com/dask/dask.git --upgrade --no-deps" pip install "git+https://github.com/dask/dask.git" --upgrade --no-deps -logger "pip install git+https://github.com/python-streamz/streamz.git --upgrade --no-deps" pip install "git+https://github.com/python-streamz/streamz.git" --upgrade --no-deps +set +x -logger "Check versions..." +gpuci_logger "Check compiler versions" python --version $CC --version $CXX --version -conda list + +gpuci_logger "Check conda environment" +conda info +conda config --show-sources +conda list --show-channel-urls ################################################################################ # BUILD - Build libcudf, cuDF, libcudf_kafka, and dask_cudf from source ################################################################################ -logger "Build libcudf..." +gpuci_logger "Build from source" if [[ ${BUILD_MODE} == "pull-request" ]]; then $WORKSPACE/build.sh clean libcudf cudf dask_cudf libcudf_kafka cudf_kafka benchmarks tests --ptds else @@ -100,8 +115,7 @@ else fi ################################################################################ -# TEST - Run GoogleTest and py.tests for libcudf, and -# cuDF +# TEST - Run GoogleTest, py.tests, and notebooks ################################################################################ set +e -Eo pipefail @@ -110,12 +124,13 @@ trap "EXITCODE=1" ERR if hasArg --skip-tests; then - logger "Skipping Tests..." + gpuci_logger "Skipping Tests" else - logger "Check GPU usage..." + gpuci_logger "Check GPU usage" nvidia-smi - logger "GoogleTests..." + gpuci_logger "GoogleTests" + set -x cd $WORKSPACE/cpp/build for gt in ${WORKSPACE}/cpp/build/gtests/* ; do @@ -128,22 +143,22 @@ else # will be enabled for later versions by default np_ver=$(python -c "import numpy; print('.'.join(numpy.__version__.split('.')[:-1]))") if [ "$np_ver" == "1.16" ];then - logger "export NUMPY_EXPERIMENTAL_ARRAY_FUNCTION=1" export NUMPY_EXPERIMENTAL_ARRAY_FUNCTION=1 fi cd $WORKSPACE/python/cudf - logger "Python py.test for cuDF..." + gpuci_logger "Python py.test for cuDF" py.test --cache-clear --basetemp=${WORKSPACE}/cudf-cuda-tmp --junitxml=${WORKSPACE}/junit-cudf.xml -v --cov-config=.coveragerc --cov=cudf --cov-report=xml:${WORKSPACE}/python/cudf/cudf-coverage.xml --cov-report term cd $WORKSPACE/python/dask_cudf - logger "Python py.test for dask-cudf..." + gpuci_logger "Python py.test for dask-cudf" py.test --cache-clear --basetemp=${WORKSPACE}/dask-cudf-cuda-tmp --junitxml=${WORKSPACE}/junit-dask-cudf.xml -v --cov-config=.coveragerc --cov=dask_cudf --cov-report=xml:${WORKSPACE}/python/dask_cudf/dask-cudf-coverage.xml --cov-report term cd $WORKSPACE/python/custreamz - logger "Python py.test for cuStreamz..." + gpuci_logger "Python py.test for cuStreamz" py.test --cache-clear --basetemp=${WORKSPACE}/custreamz-cuda-tmp --junitxml=${WORKSPACE}/junit-custreamz.xml -v --cov-config=.coveragerc --cov=custreamz --cov-report=xml:${WORKSPACE}/python/custreamz/custreamz-coverage.xml --cov-report term + gpuci_logger "Test notebooks" ${WORKSPACE}/ci/gpu/test-notebooks.sh 2>&1 | tee nbtest.log python ${WORKSPACE}/ci/utils/nbtestlog2junitxml.py nbtest.log fi diff --git a/conda/recipes/cudf_kafka/build.sh b/conda/recipes/cudf_kafka/build.sh index d3562b569c49..3db559c144d8 100644 --- a/conda/recipes/cudf_kafka/build.sh +++ b/conda/recipes/cudf_kafka/build.sh @@ -1,10 +1,4 @@ # Copyright (c) 2020, NVIDIA CORPORATION. # This assumes the script is executed from the root of the repo directory - -# show environment -printenv -# Cleanup local git -git clean -xdf -# build libcudf with verbose output ./build.sh -v cudf_kafka diff --git a/conda/recipes/custreamz/build.sh b/conda/recipes/custreamz/build.sh index 7852fd3dbe8a..6ce9e4f21a94 100644 --- a/conda/recipes/custreamz/build.sh +++ b/conda/recipes/custreamz/build.sh @@ -1,10 +1,4 @@ # Copyright (c) 2020, NVIDIA CORPORATION. # This assumes the script is executed from the root of the repo directory - -# show environment -printenv -# Cleanup local git -git clean -xdf -# build custreamz with verbose output ./build.sh -v custreamz diff --git a/conda/recipes/libcudf/build.sh b/conda/recipes/libcudf/build.sh index 7b2788f3a91d..27ffbf1aa6c5 100644 --- a/conda/recipes/libcudf/build.sh +++ b/conda/recipes/libcudf/build.sh @@ -1,10 +1,4 @@ # Copyright (c) 2018-2019, NVIDIA CORPORATION. # This assumes the script is executed from the root of the repo directory - -# show environment -printenv -# Cleanup local git -git clean -xdf -# build libcudf with verbose output ./build.sh -v libcudf --allgpuarch diff --git a/conda/recipes/libcudf_kafka/build.sh b/conda/recipes/libcudf_kafka/build.sh index 42ab9cc361ac..654f7d522ee1 100644 --- a/conda/recipes/libcudf_kafka/build.sh +++ b/conda/recipes/libcudf_kafka/build.sh @@ -1,10 +1,4 @@ # Copyright (c) 2020, NVIDIA CORPORATION. # This assumes the script is executed from the root of the repo directory - -# show environment -printenv -# Cleanup local git -git clean -xdf -# build libcudf with verbose output ./build.sh -v libcudf_kafka