mirror of
https://github.com/vale981/ray
synced 2025-03-06 10:31:39 -05:00

* Switch to mirrors.bazel.build where possible * Switch from .zip to .tar.gz for smaller downloads (it's also the default download on UNIX) * Use direct GitHub URLs in Bazel files for clarity * Don't pass patches to local_repository * Remove github_repository() * Switch to GitHub actions/checkout@v2 which is faster * Use faster extraction method for LLVm on Windows * Move LLVM_VERSION_WINDOWS to the shell script since it's not a CI-specific value * Change GITHUB_TOKEN to GITHUB * Don't show timestamps for GitHub Actions * Factor out some options from GitHub Actions * Tell Bazel to stay on the same volume in GitHun Actions * Display progress output when downloading toolchains Co-authored-by: GitHub Web Flow <noreply@github.com>
113 lines
4.1 KiB
Bash
Executable file
113 lines
4.1 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
ROOT_DIR=$(cd "$(dirname "${BASH_SOURCE:-$0}")"; pwd)
|
|
|
|
echo "PYTHON is $PYTHON"
|
|
|
|
# Make sure all important package versions are static (via env variables
|
|
# or assign default values to them).
|
|
tf_version="$TF_VERSION"
|
|
if [[ $tf_version == "" ]]; then tf_version="2.0.0b1"; fi
|
|
echo "tf_version is $tf_version"
|
|
tfp_version="$TFP_VERSION"
|
|
if [[ tfp_version == "" ]]; then tfp_version="0.8"; fi
|
|
echo "tfp_version is $tfp_version"
|
|
torch_version="$TORCH_VERSION"
|
|
if [[ torch_version == "" ]]; then torch_version="1.4"; fi
|
|
echo "torch_version is $torch_version"
|
|
|
|
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
|
|
|
|
# Upgrade pip and other packages to avoid incompatibility ERRORS.
|
|
pip install --upgrade pip # setuptools cloudpickle urllib3
|
|
|
|
# If we're in a CI environment, do some configuration
|
|
if [ "${TRAVIS-}" = true ] || [ -n "${GITHUB_WORKFLOW-}" ]; then
|
|
pip config --user set global.disable-pip-version-check True
|
|
pip config --user set global.no-color True
|
|
pip config --user set global.progress_bar off
|
|
pip config --user set global.quiet True
|
|
fi
|
|
|
|
if [[ "$PYTHON" == "3.6" ]] && [[ "$platform" == "linux" ]]; then
|
|
sudo apt-get update
|
|
sudo apt-get install -y python-dev python-numpy build-essential curl unzip tmux gdb libunwind-dev
|
|
# Install miniconda.
|
|
wget -q https://repo.continuum.io/miniconda/Miniconda3-4.5.4-Linux-x86_64.sh -O miniconda.sh -nv
|
|
bash miniconda.sh -b -p $HOME/miniconda
|
|
export PATH="$HOME/miniconda/bin:$PATH"
|
|
"${ROOT_DIR}/install-strace.sh" || true
|
|
pip install scipy tensorflow==$tf_version \
|
|
cython==0.29.0 gym \
|
|
opencv-python-headless pyyaml pandas==0.24.2 requests \
|
|
feather-format lxml openpyxl xlrd py-spy pytest-timeout networkx tabulate aiohttp \
|
|
uvicorn dataclasses pygments werkzeug kubernetes flask grpcio pytest-sugar pytest-rerunfailures pytest-asyncio \
|
|
blist scikit-learn
|
|
elif [[ "$PYTHON" == "3.6" ]] && [[ "$platform" == "macosx" ]]; then
|
|
# Install miniconda.
|
|
wget -q https://repo.continuum.io/miniconda/Miniconda3-4.5.4-MacOSX-x86_64.sh -O miniconda.sh -nv
|
|
bash miniconda.sh -b -p $HOME/miniconda
|
|
export PATH="$HOME/miniconda/bin:$PATH"
|
|
pip install scipy tensorflow==$tf_version \
|
|
cython==0.29.0 gym \
|
|
opencv-python-headless pyyaml pandas==0.24.2 requests \
|
|
feather-format lxml openpyxl xlrd py-spy pytest-timeout networkx tabulate aiohttp \
|
|
uvicorn dataclasses pygments werkzeug kubernetes flask grpcio pytest-sugar pytest-rerunfailures pytest-asyncio \
|
|
blist scikit-learn
|
|
elif [[ "$LINT" == "1" ]]; then
|
|
sudo apt-get update
|
|
sudo apt-get install -y build-essential curl unzip
|
|
# Install miniconda.
|
|
wget -q https://repo.continuum.io/miniconda/Miniconda3-4.5.4-Linux-x86_64.sh -O miniconda.sh -nv
|
|
bash miniconda.sh -b -p $HOME/miniconda
|
|
export PATH="$HOME/miniconda/bin:$PATH"
|
|
# Install Python linting tools.
|
|
pip install flake8==3.7.7 flake8-comprehensions flake8-quotes==2.0.0
|
|
# Install TypeScript and HTML linting tools.
|
|
pushd "$ROOT_DIR/../../python/ray/dashboard/client"
|
|
source "$HOME/.nvm/nvm.sh"
|
|
nvm install node
|
|
nvm use node
|
|
npm ci
|
|
popd
|
|
elif [[ "$LINUX_WHEELS" == "1" ]]; then
|
|
sudo apt-get install docker
|
|
sudo usermod -a -G docker travis
|
|
elif [[ "$MAC_WHEELS" == "1" ]]; then
|
|
:
|
|
else
|
|
echo "Unrecognized environment."
|
|
exit 1
|
|
fi
|
|
|
|
# Additional RLlib dependencies.
|
|
if [[ "$RLLIB_TESTING" == "1" ]]; then
|
|
pip install tensorflow-probability==$tfp_version gast==0.2.2 \
|
|
torch==$torch_version torchvision \
|
|
gym[atari] atari_py smart_open lz4
|
|
fi
|
|
|
|
# Additional streaming dependencies.
|
|
if [[ "$RAY_CI_STREAMING_PYTHON_AFFECTED" == "1" ]]; then
|
|
pip install -q msgpack>=0.6.2
|
|
fi
|
|
|
|
if [[ "$PYTHON" == "3.6" ]] || [[ "$MAC_WHEELS" == "1" ]]; then
|
|
# Install the latest version of Node.js in order to build the dashboard.
|
|
source "$HOME/.nvm/nvm.sh"
|
|
nvm install node
|
|
fi
|
|
|
|
pip install psutil setproctitle \
|
|
--target="$ROOT_DIR/../../python/ray/thirdparty_files"
|