Skip to content

Commit

Permalink
Merge pull request #615 from dillon-cullinan/enh-gpuci
Browse files Browse the repository at this point in the history
[REVIEW] ENH Improve gpuCI scripts
  • Loading branch information
ajschmidt8 authored Nov 6, 2020
2 parents b1ac445 + e527fc3 commit 6db29e7
Show file tree
Hide file tree
Showing 11 changed files with 125 additions and 146 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
- PR #612 Drop old Python `device_array*` API
- PR #603 Always test both legacy and per-thread default stream
- PR #611 Add a note to the contribution guide about requiring 2 C++ reviewers
- PR #615 Improve gpuCI Scripts

## Bug Fixes

Expand Down
55 changes: 31 additions & 24 deletions ci/cpu/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,20 @@
######################################
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

# Switch to project root; also root of repo checkout
cd $WORKSPACE

# Setup 'gpuci_conda_retry' for build retries (results in 2 total attempts)
export GPUCI_CONDA_RETRY_MAX=1
export GPUCI_CONDA_RETRY_SLEEP=30

# If nightly build, append current YYMMDD to version
if [[ "$BUILD_MODE" = "branch" && "$SOURCE_BRANCH" = branch-* ]] ; then
export VERSION_SUFFIX=`date +%y%m%d`
Expand All @@ -29,44 +28,52 @@ fi
# SETUP - Check environment
################################################################################

logger "Get env..."
gpuci_logger "Get env"
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 versions"
python --version
gcc --version
g++ --version
conda list

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: librmm <- rmm)
################################################################################

if [[ "$BUILD_LIBRMM" == "1" ]]; then
logger "Build conda pkg for librmm..."
source ci/cpu/librmm/build_librmm.sh
gpuci_logger "Build conda pkg for librmm"
if [[ -z "$PROJECT_FLASH" || "$PROJECT_FLASH" == "0" ]]; then
conda build conda/recipes/librmm --python=$PYTHON
else
conda build --dirty --no-remove-work-dir conda/recipes/librmm
fi
fi

if [[ "$BUILD_RMM" == "1" ]]; then
logger "Build conda pkg for rmm..."
source ci/cpu/rmm/build_rmm.sh
gpuci_logger "Build conda pkg for rmm"
if [[ -z "$PROJECT_FLASH" || "$PROJECT_FLASH" == "0" ]]; then
conda build conda/recipes/rmm --python=$PYTHON
else
conda build --dirty --no-remove-work-dir conda/recipes/rmm
fi
fi

################################################################################
# UPLOAD - Conda packages
################################################################################

if [[ "$BUILD_LIBRMM" == "1" ]]; then
logger "Upload conda pkg for librmm..."
source ci/cpu/librmm/upload-anaconda.sh
fi
gpuci_logger "Upload conda packages"
source ci/cpu/upload.sh

if [[ "$BUILD_RMM" == "1" ]]; then
logger "Upload conda pkg for rmm..."
source ci/cpu/rmm/upload-anaconda.sh
fi
9 changes: 0 additions & 9 deletions ci/cpu/librmm/build_librmm.sh

This file was deleted.

31 changes: 0 additions & 31 deletions ci/cpu/librmm/upload-anaconda.sh

This file was deleted.

9 changes: 0 additions & 9 deletions ci/cpu/rmm/build_rmm.sh

This file was deleted.

30 changes: 0 additions & 30 deletions ci/cpu/rmm/upload-anaconda.sh

This file was deleted.

54 changes: 54 additions & 0 deletions ci/cpu/upload.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/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 LIBRMM_FILE=`conda build conda/recipes/librmm --output`
export RMM_FILE=`conda build conda/recipes/rmm --python=$PYTHON --output`

################################################################################
# UPLOAD - Conda packages
################################################################################

gpuci_logger "Starting conda uploads"

if [ "$BUILD_LIBRMM" == "1" && "$UPLOAD_LIBRMM" == "1" ]; then
test -e ${LIBRMM_FILE}
echo "Upload librmm"
echo ${LIBRMM_FILE}
gpuci_retry anaconda -t ${MY_UPLOAD_KEY} upload -u ${CONDA_USERNAME:-rapidsai} ${LABEL_OPTION} --skip-existing ${LIBRMM_FILE}
fi

if [ "$BUILD_RMM" == "1" && "$UPLOAD_RMM" == "1" ]; then
test -e ${RMM_FILE}
echo "Upload rmm"
echo ${RMM_FILE}
gpuci_retry anaconda -t ${MY_UPLOAD_KEY} upload -u ${CONDA_USERNAME:-rapidsai} ${LABEL_OPTION} --skip-existing ${RMM_FILE}
fi

22 changes: 12 additions & 10 deletions ci/docs/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,26 +18,28 @@ export LIBCUDF_KERNEL_CACHE_PATH="$HOME/.jitify-cache"
export NIGHTLY_VERSION=$(echo $BRANCH_VERSION | awk -F. '{print $2}')
export PROJECTS=(rmm)

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
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

gpuci_logger "Check conda environment"
conda info
conda config --show-sources
conda list --show-channel-urls

# Build Doxygen docs
logger "Build Doxygen docs..."
gpuci_logger "Build Doxygen docs"
cd $PROJECT_WORKSPACE/doxygen
doxygen Doxyfile

Expand Down
Loading

0 comments on commit 6db29e7

Please sign in to comment.