#!/usr/bin/env bash # Cause the script to exit if a single command fails. set -e # Show explicitly which commands are currently running. set -x ROOT_DIR=$(cd "$(dirname "${BASH_SOURCE:-$0}")"; pwd) platform="unknown" unamestr="$(uname)" if [[ "$unamestr" == "Linux" ]]; then echo "Platform is linux." platform="linux" elif [[ "$unamestr" == "Darwin" ]]; then echo "Platform is macosx." platform="macosx" else echo "Unrecognized platform." exit 1 fi TEST_SCRIPT=$ROOT_DIR/../test/microbenchmarks.py if [[ "$platform" == "linux" ]]; then # First test Python 2.7. # Install miniconda. wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh -O miniconda2.sh bash miniconda2.sh -b -p $HOME/miniconda2 # Find the right wheel by grepping for the Python version. PYTHON_WHEEL=$(find $ROOT_DIR/../.whl -type f -maxdepth 1 -print | grep -m1 '27') # Install the wheel. $HOME/miniconda2/bin/pip install $PYTHON_WHEEL # Run a simple test script to make sure that the wheel works. $HOME/miniconda2/bin/python $TEST_SCRIPT # Now test Python 3.6. # Install miniconda. wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda3.sh bash miniconda3.sh -b -p $HOME/miniconda3 # Find the right wheel by grepping for the Python version. PYTHON_WHEEL=$(find $ROOT_DIR/../.whl -type f -maxdepth 1 -print | grep -m1 '36') # Install the wheel. $HOME/miniconda3/bin/pip install $PYTHON_WHEEL # Run a simple test script to make sure that the wheel works. $HOME/miniconda3/bin/python $TEST_SCRIPT # Check that the other wheels are present. NUMBER_OF_WHEELS=$(ls -1q $ROOT_DIR/../.whl/*.whl | wc -l) if [[ "$NUMBER_OF_WHEELS" != "5" ]]; then echo "Wrong number of wheels found." ls -l $ROOT_DIR/../.whl/ exit 1 fi elif [[ "$platform" == "macosx" ]]; then MACPYTHON_PY_PREFIX=/Library/Frameworks/Python.framework/Versions PY_MMS=("2.7" "3.4" "3.5" "3.6") # This array is just used to find the right wheel. PY_WHEEL_VERSIONS=("27" "34" "35" "36") for ((i=0; i<${#PY_MMS[@]}; ++i)); do PY_MM=${PY_MMS[i]} PY_WHEEL_VERSION=${PY_WHEEL_VERSIONS[i]} PYTHON_EXE=$MACPYTHON_PY_PREFIX/$PY_MM/bin/python$PY_MM PIP_CMD="$(dirname $PYTHON_EXE)/pip$PY_MM" # Find the appropriate wheel by grepping for the Python version. PYTHON_WHEEL=$(find $ROOT_DIR/../.whl -type f -maxdepth 1 -print | grep -m1 "$PY_WHEEL_VERSION") # Install the wheel. $PIP_CMD install $PYTHON_WHEEL # Run a simple test script to make sure that the wheel works. $PYTHON_EXE $TEST_SCRIPT done else echo "Unrecognized environment." exit 1 fi